13.1 Swing概述
13.1.1 Swing特点
Swing组件和AWT组建配合起来设计GUI(图形用户界面)。Swing组件不依赖于操作系统,可以在任意平台运行,因此称之为轻量级组件;AWT依赖于本地平台,称之为重量级组件。
13.1.2 Swing组件类的继承层次
从继承关系中可以看出,顶层父类是Component类和Container类,所以Java对窗口的编写都与组件和容器的概念相关联。
13.1.3 常用Swing组件概述
组件名称 | 定义 |
---|---|
JFrame | Swing框架,相当于一个容器,是各个组件的载体 |
JButton | 按钮 |
JCheckBox | 复选框 |
JRadioButton | 单选框 |
JComBox | 下拉列表框 |
JList | 显示一系列条目 |
JDialog | 对话框 |
JLabel | 标签 |
JComBox | 下拉列表框 |
JTextField | 文本框 |
JPasswordField | 密码框 |
JTextArea | 文本区域 |
JOptionPane | 对话框 |
13.2 常用窗体
Swing中常用窗体主要包括JFrame和JDialog。
13.2.1 JFrame窗体
初始化JFrame窗体
import java.awt.*; //导入awt包
import javax.swing.*; //导入swing包
public class Practice extends JFrame{ //定义一个类,继承JFrame类
public void createJFrame(String title){ //定义createJFrame()方法,title为窗体标题
JFrame jf= new JFrame(title); //实例化一个JFrame对象,用jf引用
jf.setVisible(true); //设置窗体可视化
jf.setSize(200,150); //设置窗体宽高
Container container=jf.getContentPane(); //jf调用getContentPane()方法返回一个容器,给container引用
container.setBackground(Color.white); //设置容器背景颜色
JLabel jl=new JLabel("光速QA"); //设置一个标签
jl.setHorizontalAlignment(SwingConstants.CENTER); //设置标签对齐方式
container.add(jl); //用容器的add()方法添加标签;若要移除标签,用container.remove(jl)方法
}
public static void main(String[] args) {
new Practice().createJFrame("KingOfRiven"); //调用createJFrame()方法,创建一个标题为KingOfRiven的Jrame窗体容器。
}
}
效果如图所示: