java 界面开发_Java6:Java实战——界面开发

好久没有更新了~~~在之前介绍了Java的类与对象、构造方法、类的继承、接口和抽象方法以及事件监听方法之后,我们就可以上正菜——Java实践了(没有看过之前内容的胖友赶紧去看看小编之前的文章哦)。今天我们将的是利用Java进行界面开发。

我们今天的目标是做出一个了类似qq的登录界面,如下图

(图一)

一下是小编通过Java做出来的界面:

(图二)

当然还有复杂一点的:这个图跟qq登录界面就非常像了

(图三)

我们先来做上面较简单一点的界面

在Java的api中有很多类,这些类封装了不同的属性和方法,方便了程序的编写。其中,用来编写界面程序的类有很多,他们都在Java.awt和Javax.swing包中,java.awt包是java在早期开发的一套界面类,但是awt中采用了很多和系统相关的代码,所以逐渐被淘汰,但是颜色、尺寸等类还在继续使用。javax.swing包:java的界面类都在该包下,并且类名以J开头。

登录界面的创建过程可以这么理解:先创建一个空白的窗体,然后把图片、按钮、输入文字的框、进行选择的框等添加到空白界面上,最后这个界面就能呈现丰富的内容了。我们把这个空白的窗体称为顶级容器,而图片、按钮等称为组件,开发一个界面的过程就是在顶级容器上添加组件的过程。

在qq登录界面开发过程中,我们一般用到javax.swing包下的JFrame、JButton、JTextField 、JPasswordField、JLabel 、JCheckBox这些类。JFrame就是我们说的顶级容器,而JButton、JTextField 、JPasswordField、JLabel 、JCheckBox等就是组件。

那么这些类(或者说组件)的作用是什么呢?下面进行介绍:

JFrame类:用来创建一个窗体;

JButton:用来创建一个按钮;button:按钮

JTextField:用来创建一个文本输入框 text:文本

JPasswordField:用来创建一个密码输入框 PasswordField:密码

JLabel:用来显示文本和图片 label:标签

JCheckBox:用来创建选择框 CheckBox:复选框

我们先创建一个Login界面类,在类中定义一个显示窗体的方法showUI()和主方法main(),在showUI()方法中创建界面,和组件,将组件放在界面上并使界面可见;在主方法里面创建界面类的对象,然后调用showUI()方法,这样我们就可以开发了一个界面:

public class Login {

//定义showUI()方法

public void showUI(){

//创建界面和组件等操作

……

}

//定义主方法

public static void main(String[] args) {

创建Login类的对象并调用showUI()方法

Login lo = new Login();

lo.showUI();

}

}

接下来就是在showUI()方法中创建顶级容器和组件。先创建一个顶级容器(用来容纳所有的组件):

// 创建窗体对象(顶级容器对象)

javax.swing.JFrame jf = new javax.swing.JFrame();

//设置窗体尺寸(窗体宽度高度都为400)

jf.setSize(400, 400);

//设置退出进程的方法

f.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);

//设置窗体居中显示

jf.setLocationRelativeTo(null);

创建好窗体后,我们只需要创建各个组件,然后加到窗体上,但是这些组件在窗体上的位置是有序的,比如上图二中账号按钮和文本显示框排在第一行,然后密码按钮和密码显示框排在第二行。如何实现这样的布局呢?

我们必须先设置组件在窗体上的布局方式。 Java提供一种流式布局FlowLayout,这种布局的方法是将组件一个个排列在一行,如果这一行排不下了,就自动排到第二行。如图二,我们只需设置账号按钮和文本显示框的宽度,他们所在的行无法容纳下密码按钮,密码按钮就会自动排列到下一行。创建流式布局的代码如下:

创建一个流式布局的对象

java.awt.FlowLayout f = new java.awt.FlowLayout();

//设置窗体为流式布局

jf.setLayout(f);

下面我们可以设置组件了。创建一个显示文本的标签,显示的文本为"账号",并设置其宽度和高度

//创建一个标签对象,标签上显示"账号"

javax.swing.JLabel jlb1 = new javax.swing.JLabel("账号");

//设置其宽度,高度分别为50、30

java.awt.Dimension d3 = new java.awt.Dimension(50, 30);

jlb1.setPreferredSize(d3);

//将这个标签对象(组件)添加到窗体上

jf.add(jlb1);

创建一个显示文本的文本框,设置其宽度和高度

//创建一个文本框对象

javax.swing.JTextField jtf = new javax.swing.JTextField();

//设置宽、高分别为310、30

java.awt.Dimension d = new java.awt.Dimension(310, 30);

jtf.setPreferredSize(d);

//将这个文本框对象(组件)加到窗体上

jf.add(jtf);

创建一个显示文本的标签,显示的文本为"密码",并设置其宽度和高度

//创建一个标签对象,标签上显示"密码"

javax.swing.JLabel jlb2 = new javax.swing.JLabel("密码");

//设置其宽度,高度分别为50、30

java.awt.Dimension d1 = new java.awt.Dimension(50, 30);

jlb1.setPreferredSize(d1);

//将这个标签对象(组件)添加到窗体上

jf.add(jlb2);

创建一个显示密码的文本框,设置其宽度和高度

//创建一个文本框对象

javax.swing.JPasswordField jpf = new javax.swing.JPasswordField();

//设置宽、高分别为310、30

java.awt.Dimension d2 = new java.awt.Dimension(310, 30);

jtf.setPreferredSize(d2);

//将这个文本框对象(组件)加到窗体上

jf.add(jtf);

创建一个登录按钮

//创建按钮类的对象

javax.swing.JButton jbu = new javax.swing.JButton("登陆");

//设置宽、高分别为100、30

java.awt.Dimension d8 = new java.awt.Dimension(100, 30);

jbu.setPreferredSize(d8);

//给窗体添加一个按钮对象

jf.add(jbu);

这样我们就已经把图二中的组件全部创建并加到窗体上了(2个显示文本的标签、2个显示文本的文本框和一个按钮),这时候我们还需加一句代码:设置窗体可见:

jf.setVisible(true); //设置窗体可见,放在代码最后一句

需注意:这句代码需写在创建完组件并把组件加到窗体上之后,如果写在前面,那么没有把组件放上窗体就让窗体显示出来,得不到我们想要的组件。

这时候运行代码,就可以显示图二那样的界面了。虽然过程看上去很复杂,但原理很简单,就是创建一个容器,把需要的组件加在容器上,最后设置这个容器可见,就完成了!

而如果要做出图三的图片效果,只需要创建显示图片的标签(JLabel),把图片加在标签上,再把标签放在窗体上;复选框的效果就是创建JCheckBox对象,然后把对象放在窗体上。

//创建图片对象

javax.swing.ImageIcon im = new javax.swing.ImageIcon("//图片位置");

//创建标签对象

javax.swing.JLabel jla = new javax.swing.JLabel(im);

//设置图片尺寸

java.awt.Dimension td = new java.awt.Dimension(400, 200);

jla.setPreferredSize(td);

//图片加到窗体上

jf.add(jla);

为了使创建的界面更美观,我们往往需要修改各个组件的尺寸,这些就交给读者慢慢修改吧~

我是辛苦而又孤独的小编,希望有人跟我交流关于界面开发的体验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值