创建一个简单的页面
- Java中与界面相关的代码
- 分类
- 以一个简单的登录界面为例
- 开发登录界面需要使用的相关元素
- 开发登录界面的步骤
- 实现的代码
- 其他内容
Java中与界面相关的代码
分类
1.按代码所属的包名分类:
java.awt:java早期使用的界面开发包,有尺寸、布局、监听器等等。
javax.swing:该包下的组件类的类名以J开头。
2.按代码的功能分类:
- 容器组件:存储其他组件。
顶级容器组件:界面,所有其他的组件都必须添加在顶级容器组件上才能显示。 - 元素组件:提供和用户交互功能,如输入(输入框、按钮等),输出(显示图片、文字)
- 布局:组件在容器中的摆放规则:
FlowLayout布局:将所有的组件从左到右依次摆放,一行摆放不下时自动换行,一行能放置多少组件取决于窗口的宽度。
BorderLayout布局:分为东、南、西、北、中心五个方位。北和南的组件可以在水平方向上拉伸;而东和西的组件可以在垂直方向上拉伸;中心的组件可同时在水平和垂直方向上同时拉伸,从而填充所有剩余空间。一个位置只能显示一个组件,相同位置的组件会被覆盖,只显示最上面(最后添加)的组件。
GridLayout布局:放置组件时,只能从左到右、由上到下的顺序填充。
以一个简单的登录界面为例
开发登录界面需要使用的相关元素
顶级容器组件 JFrame
图片 javax.swing.ImageIcon
布局 java.awt.FlowLayout
尺寸 java.awt.Dimension
显示图片、文字的标签 JLabel
文本输入框 JTextField
密码输入框 JPasswordFiled
多选框 JCheckBox
登录按钮 JButton
开发登录界面的步骤
- 创建一个类,并为这个类定义一个显示界面的方法(如showUI())。
- 实现这个方法,首先创建一个顶级容器组件(JFrame)的对象,并为其设置一些基本属性(如标题、大小等)。
- 创建各个组件(如按钮、输入框),为其设置属性,并将其添加到窗体上。
- 在主函数中创建类的对象,并调用showUI()。
实现的代码
package zjc_gsm;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JCheckBox;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Color;
public class ShowUI {
public void showLoginUI(){
//创建顶级容器组件的对象
JFrame Aframe = new JFrame("LoginUI");
//设置其大小
Aframe.setSize(500, 450);
//创建布局的对象,这里用的是流式布局
FlowLayout flowlay = new FlowLayout();
//为其设置布局
Aframe.setLayout(flowlay);
//创建若干文字的对象
JLabel text1 = new JLabel("注册账号");
JLabel text2 = new JLabel("忘记密码");
//创建若干输入框的对象
JTextField input1 = new JTextField();
JTextField input2 = new JTextField();
//设置输入框的大小
Dimension dimeninput = new Dimension(400,30);
input1.setPreferredSize(dimeninput);
input2.setPreferredSize(dimeninput);
//获得图片
ImageIcon background = new ImageIcon("C:\\picture.png");
JLabel back = new JLabel(background);
//创建复选框
JCheckBox remember = new JCheckBox("记住密码");
JCheckBox autoLogin = new JCheckBox("自动登录");
//创建按钮
JButton Loginac = new JButton("登录");
JButton register = new JButton("注册");
//设置按钮大小
Dimension dimenbutton = new Dimension(200,50);
Loginac.setBackground(Color.blue);
register.setBackground(Color.blue);
Loginac.setPreferredSize(dimenbutton);
register.setPreferredSize(dimenbutton);
//设置颜色
Loginac.setBackground(Color.blue);
register.setBackground(Color.blue);
//将各个组件添加到窗体上
Aframe.add(back);
Aframe.add(input1);
Aframe.add(text1);
Aframe.add(input2);
Aframe.add(text2);
Aframe.add(remember);
Aframe.add(autoLogin);
Aframe.add(Loginac);
Aframe.add(register);
//设置窗体初始位置
Aframe.setLocationRelativeTo(null);
//设置窗体关闭后程序的处理
Aframe.setDefaultCloseOperation(Aframe.EXIT_ON_CLOSE);
//设置窗体可见
Aframe.setVisible(true);
}
//主方法
public static void main (String[] args){
ShowUI showui = new ShowUI();
showui.showLoginUI();
}
}
其他内容
- public void setVisible(boolean b)设置其可见性,窗口默认不可见。
- public void setDefaultCloseOperation(int operation)用来设置单击窗体右上角的关闭图标后,程序会做出怎样的处理,其中的参数operation取JFrame类中的下列int型常量,程序根据参数operation取值做出不同的处理。
0 = DO_NOTHING_ON_CLOSE(什么也不做)
1 = HIDE_ON_CLOSE (隐藏当前窗口)
2 = DISPOSE_ON_CLOSE (隐藏当前窗口,并释放窗体占有的其他资源)
3 = EXIT_ON_CLOSE (结束窗口所在的应用程序) - public voidsetBounds(int a , int b , int width , int height)设置窗口的初始位置是(a,b),即距屏幕左面a个像素,距屏幕上方b个像素,窗口的宽是width,高是height。或分别用 public void setSize(int width , int height)和 public void setLocation(int x , int y) 来调节大小和位置。
- public void setLocationRelativeTo(Component c)设置窗口相对于指定组件的位置,如果组件当前未显示或者 c = null,则此窗口将置于屏幕的中央。
- public void dispose()撤销当前窗口,并释放当前窗口所使用的资源。