1、 Swing基本组件练习
l JTextField(文本框)
l JPasswordField(密码框)
l JTextArea(文本域)
l JCheckBox(复选框)
l JRadioButton(单选按钮)
l JComboBox(组合框,又名:下拉列表)
【学习目标】
} 区分Swing和AWT的不同(第12.2节)。
} 描述Java GUI API的层次体系结构(第12.3节)。
} 使用框架、面板和简单GUI组件创建用户界面(第12.4节)。
} 理解布局管理器的作用(第12.5节)。
} 使用FlowLayout、GridLayout和BorderLayout管理器在一个容器中布局组件(第12.5节)。
} 使用JPanel类将面板作为一个子容器(第12.6节)。
} 使用Color类和Font类指定颜色和字体(第12.7-12.8节)。
} 将边界、工具提示、字体和颜色等常用特性应用在Swing组件上(第12.9节)。
} 使用边界可视化地将用户界面组件分组(第12.9节)。
} 使用ImageIcon类创建图形图标 (第12.10节)。
【重点】
1. JFrame的创建,窗口显示、窗口关闭、窗口大小设置、窗口初始位置设置;
2. JPanel中间容器的默认布局管理器,如何将中间容器和布局管理器组合使用,完成用户界面布局
3. 布局管理器:BorderLayout、FlowLayout、GridLayout和BorderLayout
4. 辅助类的使用:Corlor、Font、ImageIcon、Image
【基本知识点】
1、容器
顶层容器:JFrame
import javax.swing.*;
public class SecondJFrame extends JFrame {
public SecondJFrame() {
super(“My Second JFrame”);
add(new JButton("OK"));
setDefaultCloseOperation(EXIT_ON_CLOSE);
setExtendedState(MAXIMIZED_BOTH);
setVisible(true);
}
public static void main(String[] args) {
SecondJFrame f = new SecondJFrame();
}}
中间容器:JPanel
import javax.swing.*;
public class SecondJFrame extends JFrame {
private JPanel p = new JPanel();
public SecondJFrame() {
super(“My Second JFrame”);
p.add(new JButton("OK"));
add(p);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setExtendedState(MAXIMIZED_BOTH);
setVisible(true);
}
public static void main(String[] args) {
SecondJFrame f = new SecondJFrame();
}}
2、布局管理器
1)布局管理器所属类包
所属类包 | 布局管理器名称 | 说明 |
Java.awt | FlowLayout(流式布局) | 组件按照加入的先后顺序按照设置的对齐方式从左向右排列,一行排满到下一行开始继续排列 |
BorderLayout(边界布局) | 容器划分为东、西、南、北、中五个区域,每个区域只能放置一个组件。 | |
GridLayout(网格布局) | 容器的空间划分成M×N列的网格区域, 每个区域只能放置一个组件。 | |
CardLayout(卡片布局) | 如同一叠牌,每个牌对应一个组件,但每次只能显示其中的一张牌。适用于在一个空间中防止多个组件的情况 | |
GridBagLayout(网格包布局) | GridLayout的升级版,组件仍然是按照行、列放置,但是每个组件可以占据多个网格 | |
Java.swing | BoxLayout(箱式布局) | 允许在容器中纵向或者横向防止多个控件 |
SprigLayout(弹簧布局) | 根据一组约束条件放置控件 | |
无 | 空布局 | 不使用布局管理器,按照控件自身提供的大小、位置信息放置控件 |
2)容器的默认布局管理器
容器 | 默认布局方式 | |
顶层容器 | JFrame | BorderLayout(边界布局) |
JDialog | BorderLayout(边界布局) | |
JApplet | FlowLayout(流式布局) | |
中间容器 | JPanel | FlowLayout(流式布局) |