学习了利用java进行的界面设计。
界面的设计无非就是调用java内部自带的一些包,进行组合,以及参数的设置。
相关包涉及到的头文件需要引用头文件。
几个基本组件是:JFrame(窗体)、JButton(按钮)、Jtree(树形结构)等。
从最基本的窗体构建开始,模仿QQ的登陆界面做一个初步的模仿,其中涉及到了窗体、标签、图片、文本框、复选框、按钮等组件的创建。
通过lo.showUI();为窗体的显示构造一个函数。
我们用到的是以下几个组件
JFrame 窗体类 最顶级的容器(默认布局为边框布局,不能自己互相添加)
JLabel 标签类
JTextField 文本输入框类(可以设置框内字符、输入框长度)
JCheckBox 复选框类
JButton 按钮类
我们用到两种类,javax.swing和javax.awt
一般使用的是javax.swing
当涉及到设置大小和布局方式的等元素组件时,使用javax.awt
下面是部分程序:
//创建窗体对象,400,500分别为宽和高,java.swing则类似于C语言中的调用头文件,初步学习我决定把它在每一次使用都写出来。在写程序中可以写出初始部分后同时按alt和?可以自动补全内容。通过右键选择Open Declaration可以查找到这个方法所在的包。
javax.swing.JFrame jf = new javax.swing.JFrame();
jf.setSize(400, 500);
jf.setTitle("登录界面");
//设置退出进程的方法,打开进程管理器发现,只有设置了该选项后才能正常退出,否则会继续在后台运行。
jf.setDefaultCloseOperation(3);
//设置居中显示,使得方框位于中央。
jf.setLocationRelativeTo(null);
//流式布局管理器(元素类),流式布局的优点是可以使得组件依次排列,优先摆在中央,一行摆满会自动放到下一行。缺点是其不能把文字或者标签等放到像右下角这样的位置,希望之后能继续学习别的布局方式,使得布局更加美观。
java.awt.FlowLayout flow = new java.awt.FlowLayout();
jf.setLayout(flow);
//图片,图片的路径需要"\\"之前用“\”便无法引用
javax.swing.ImageIcon icon = new javax.swing.ImageIcon("F:\\图片\\1.jpg");
//标签,利用标签来控制图片的大小和位置
javax.swing.JLabel jla = new javax.swing.JLabel(icon);
jf.add(jla);
//文本框,其中用到了Dimenision这个语句,通过追本溯源我发现这个类的优先级很高,也发现最高的父类是project,他们满足继承关系。此语句中对象是jft,dm是设置的对象,不能重复使用
javax.swing.JTextField jtf = new javax.swing.JTextField();
java.awt.Dimension dm = new java.awt.Dimension(380,30);
//(除了JFrame)其它所有组件设置大小都是该方法
jtf.setPreferredSize(dm);
jf.add(jtf);
//复选框
javax.swing.JCheckBox jcb = new javax.swing.JCheckBox("记住密码");
jf.add(jcb);
//按钮
javax.swing.JButton jbu = new javax.swing.JButton("登录");
jf.add(jbu); //给窗体添加按钮对象
通过调整一些大小参数,一个简单的窗体就这样建立起来了,之后还需要学习更多组件和布局的方法来完善这个界面。通过学习去搭建这个窗体,我接触到了java内丰富的包,并学会去使用它们,也看到了java的强大的应用功能。