【界面的开发】
**0. 包的建立和使用
一个类如果要在多个场合反复调用,可以把它存放在一个“包”里,则可以通过调用包来调用包中的类,这里的“包”实际就是一个类库,Java系统本身提供一些包,用户也可以自行定义一些包。
包的建立: 关键词: package
格式:package 包名; 放在源文件的第一行
包的引用: 关键字: import
格式:import 包名.类名;
**1. Java中的界面类
两种分类方法:
(1)按照包名分类
① awt :java.awt包下,Java早起使用的界面开发包,布局、尺寸、监听器等依然保留使用
② swing:javax.swing包下,组件类的类名以J开头
(2)按照功能分类
① 容器组件:装纳其他组件 -- 顶级容器组件:一个顶级容器组件就是一个界面,其他组件必须添加到顶级容器组件上才能显示
② 元素组件:提供与用户的交互功能,输入(输入框、按钮等)输出(显示图片、显示文字等)
**2. 界面属性
大小:界面对象.setSize( int length , int width)
名称:界面对象.setTitle("名称")
**3. 常用的组件:创建布局方式后,将组件通过add方式添加到容器中
文本输入框 -- JTextField
密码输入框 -- JPassword
按钮 -- JButton
显示图片的标签 -- JLabel
显示文字的标签 -- JLabel
复选框 -- JCheckBox
窗体(顶级容器组件) -- JFrame
**4. 界面开发的具体步骤方法
① 创建界面类,定义界面类的显示方式
② 创建一个窗体对象,设置窗体属性
③ 创建每个组件的对象,设置组件属性,并将组件添加到窗体上
④ 设置窗体可见
⑤ 在主方法中创建界面对象,调用界面的显示方法
【实例】
【程序】
package jie.j0424.mian; import javax.swing.JFrame; import java.awt.FlowLayout; import javax.swing.ImageIcon; import java.awt.Dimension; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.JCheckBox; import javax.swing.JButton; //创建界面类 public class qq { // 定义显示界面的方法 public void show() { // 创建窗体对象 JFrame lojinFrame = new JFrame(); // 定义窗体属性大小,标题 lojinFrame.setSize(300, 400); lojinFrame.setTitle("登录界面"); // 流式布局 FlowLayout layout = new FlowLayout(); lojinFrame.setLayout(layout); // 图片 ImageIcon photo = new ImageIcon("C:\\Users\\ASUS\\Desktop\\qq.png"); JLabel photolabel = new JLabel(photo); // 创建显示图片的标签 Dimension photosize = new Dimension(300, 200); // 设置图片大小 photolabel.setPreferredSize(photosize); lojinFrame.add(photolabel); // 将图片标签添加到窗体上 // 账号输入框 JTextField input = new JTextField(); Dimension inputsize = new Dimension(190, 30); input.setPreferredSize(inputsize); lojinFrame.add(input); // 注册账号 JLabel register = new JLabel("注册账号"); lojinFrame.add(register); // 输入密码框 JTextField passinput = new JTextField(); Dimension passsize = new Dimension(190, 30); passinput.setPreferredSize(passsize); lojinFrame.add(passinput); // 找回密码 JLabel zhaohui = new JLabel("找回密码"); lojinFrame.add(zhaohui); // 记住密码,复选框 JCheckBox remember = new JCheckBox("记住密码"); Dimension remsize = new Dimension(120, 30); remember.setPreferredSize(remsize); lojinFrame.add(remember); // 自动登录,复选框 JCheckBox autolojin = new JCheckBox("自动登录"); Dimension autosize = new Dimension(120, 30); autolojin.setPreferredSize(autosize); lojinFrame.add(autolojin); // 登录按钮 JButton lojin = new JButton("登录"); Dimension lojinsize = new Dimension(230, 30); lojin.setPreferredSize(lojinsize); lojinFrame.add(lojin); // 设置窗体可见 lojinFrame.setVisible(true); } public static void main(String arg[]) { qq q = new qq(); // 创建界面类的对象 q.show(); // 调用界面的显示方法 } }
【输出结果】