内容整理于:http://blog.csdn.net/xietansheng/article/details/72814531
简介
Swing 是 Java 为图形界面应用开发提供的工具包,包含了构建图形界面的各种组件,如: 窗口、标签、按钮、文本框等。
Swing 组件在javax.swing.*
包下,类名均以 J 开头,例如: JFrame、JLabel、JButton等。
Swing组件
图形界面由各种不同类型的“元素”组成,例如: 窗口、菜单栏、对话框、标签、按钮、文本框等等,这些“元素”统一被称为 组件,按照不同的功能,可分为 顶层容器、中间容器、基本组件。
一个简单窗口的组成,层级结构为:
- 顶层容器
- 中间容器
- 基本组件
- 中间容器
顶层容器(窗口)
顶层容器指窗口类组件,可独立显示。图形界面至少需要一个窗口。
例如:JFrame 普通窗口
中间容器(面板、区域划分组件)
中间容器是基本组件的载体,不可独立显示。中间容器可以添加若干基本组件(也可以嵌套添加中间容器),对容器内的组件进行管理,类似于给各种复杂的组件进行分组管理。
最顶层的中间容器必须依托在顶层容器(窗口)内。例如:JPanel (面板容器组件)
基本组件(具体功能实现用到的组件)
基本组件是直接实现具体功能的组件。
布局管理器
把 Swing
的各种组件添加到面板容器中(JPanel
),需要给面板容器指定布局管理器,明确容器、内的各个组件之间的排列布局方式。
实例:简单的窗口程序
import javax.swing.*;
public class t_1 {
public static void main(String[] args) {
// 1. 创建一个顶层容器(窗口)
JFrame jf = new JFrame("窗口"); // 创建窗口
jf.setSize(300, 300); // 设置窗口大小
jf.setLocationRelativeTo(null); // 把窗口位置设置到屏幕中心
/*setLocationRelativeTo(Component c)设置窗口相对于指定组件的位置。
如果组件当前未显示或者 c 为 null,则此窗口将置于屏幕的中央。*/
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 当点击窗口的关闭按钮时退出程序(没有这一句,程序不会退出)
// 2. 创建中间容器(面板容器)
JPanel p = new JPanel();
// 创建面板容器,使用默认的布局管理器
// 3. 创建一个基本组件(按钮),并添加到 面板容器 中
JButton b = new JButton("按钮");
panel.add(b);
// 4. 把 面板容器 作为窗口的内容面板 设置到 窗口
jf.setContentPane(p);
// 5. 显示窗口
jf.setVisible(true);
//前面代码创建的信息已经存储在内存中,通过 jf.setVisible(true) 把内存中的窗口显示在屏幕上。
}
}