一:概述
虽然现在在开发中,前后端交互,用户所看到的界面都是前端实现的,但是java自身的图形化界面,对于java学习初学者还是需要了解的。对于开发是有利的。
二:具体说明
<1>GUI介绍
java中为GUI相关的API在java.awt包和java.swing包中。
java.awt
awt是这三个单词首字母的缩写,翻译过来是抽象窗口工具包,只不过这个包的API,需要调用本地系统方法实现功能,和本地系统有关联,不利于代码移植,属重量级控件
java.swing
它是在awt的基础上,建立的一套图形界面系统,提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件
注意:在图形化界面开发中,由于awt这个包是一个重量级的控件,比较冗重,我们经常用到的包是swing包
<2>API文档中的介绍
<3>常用到的组件
组件是具有图形表示的对象,该图形表示可以显示在屏幕上并且可以与用户交互
比如说,在用户登录中,文本框和按钮等,都是能够表示图形的对象,所以它们都称为组件。
组件:
- 基本组件:具有图形表示的对象
- 容器组件:是可以添加组件的组件。也就是在容器中可以通过add方法添加组件,既可以添加基本组件,也可以添加容器组件。
- JButton,这是按钮
- JLabel,这是用来显示文本内容的,或者展示图片使用
- JTextFile,这是文本框,用来输入内容的
- JTextArea,这是文本域,用来输入多行多列的数据的
JPanel面板
<4>具体案例
登录界面
// 1.创建JFrame窗体对象
JFrame jFrame = new JFrame();
// 2.给窗体设置属性
jFrame.setTitle("登录界面"); //标题
jFrame.setSize(500,400); // 大小
jFrame.setDefaultCloseOperation(3); // 设置默认的关闭模式
jFrame.setAlwaysOnTop(true); // 总是显示所有窗体之上
jFrame.setLocationRelativeTo(null); // 是窗体在界面中央显示
jFrame.setLayout(null); // 取消默认的布局方式,如果没有设置后面组件的位置设置后会不奏效
// 创建用户名的板块
JLabel usernameLabel = new JLabel("用户名");
// 给组件设置位置和大小
usernameLabel.setBounds(100,100,50,20);// x:x轴 y:y轴 width:宽度 height:高度
// 为了使JLabel组件可以在窗体中显示出来,所以需要使用add方法将组件添加至窗体中
jFrame.add(usernameLabel);
// 创建JTextField文本输入框
JTextField inputUser = new JTextField();
inputUser.setBounds(200,100,180,20);
jFrame.add(inputUser);
// 创建密码板块
JLabel pwdLabel = new JLabel("密码");
pwdLabel.setBounds(100,150,50,20);
jFrame.add(pwdLabel);
// 创建密码输入框
JTextField inputPwd = new JTextField();
inputPwd.setBounds(200,150,180,20);
jFrame.add(inputPwd);
// 创建登录按钮
JButton loginBtn = new JButton("登录");
loginBtn.setBounds(150,200,280,20);
jFrame.add(loginBtn);
// 在最后还要设置窗体可见,要不然运行就看不到窗体
jFrame.setVisible(true);