1. 简介
- Swing:Java图形界面开发(Java GUI)
- AWT:Java最早的界面库
- Swing:对AWT的扩展,轻量级设计的界面库
- JavaFX:自JDK1.8引入的新的界面库
- SWT:Eclipse所使用的界面库,归Eclipse管理,Eclipse自身就是用Java开发的
- Android:适用于手机、平板界面的GUI
- HarmonyOS / Deveco:华为鸿蒙OS应用GUI
2. 开发环境
- 开发环境:IDEA
- Java环境:jdk-8
- 默认字符集:UTF-8
3. 创建一个窗口
- javax.swing.*:Swing相关的API
- JFrame:窗口类,路径在javax.swing包内;
- 思路:
- 调用 JFrame 类的有参构造方法 JFrame("参数"),创建一个窗口,传递的 "参数" 就为窗口的标题;
- 也可调用 JFrame 类的 setTitle 方法设置窗口的标题,根据使用先后,会覆盖前面调用有参构造方法时设置的窗口标题;
- 调用 JFrame 类的 setSize 方法,设置窗口的宽和高;
- 调用 JFrame 类的 setVisible 方法,设置窗口是否可视,true---可视,false---不可视;
- 调用 JFrame 类的 setDefaultCloseOperation 方法,设置当窗口关闭时,程序运行自动停止,传递的参数是 JFrame.EXIT_ON_CLOSE。
- 相关代码:
public static void main(String[] args) {
// JFrame创建窗口,构造方法为窗口标题
JFrame jFrame = new JFrame("First");
// 设置窗口是否可视
jFrame.setVisible(true);
// 设置窗口宽、高
jFrame.setSize(400,300);
// 设置关闭窗口时,停止程序运行
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
- 代码实现:目前窗口内没有内容,接下来尝试给窗口添加相关控件
4. 添加容器和控件
- JPanel:表示一个容器,也称为面板
- JButton:表示一个按钮控件
- 思路:
- 先设置一个容器:调用 JPanel 类的无参构造方法,定义一个容器;在通过调用 JFrame 类的 setContentPane 方法设置容器,传递的参数即为上述定义好的容器;
- 再添加控件:调用 JButton 类的有参构造方法 JButton("参数"),定义一个按钮控件,"参数" 为按钮控件的名称;再将定义好的控件,通过 JPanel 类的 add 方法,添加进容器中。
- 接着上面的代码继续:
- 代码实现:我们所看到的是按钮,容器本身是没有样式的
- tips:注意区分 JButton 和 Button,要确保使用的是JButton
- JButton:javax.swing.JButton包下,javax.swing包下的类基本都由 "J" 开头
- Button:javax.awt.Button包下,早期的一个按钮版本