java基础之Swing
J作为Swing组件的前缀,一些重要的组件:
JFrame | 窗体组件 |
---|---|
JPanel | 面板组件 |
JLabel | 标签组件 |
JTextField | 单行输入框组件 |
JButton | 按钮组件 |
一、窗体
Swing的窗体模型:Swing窗体中包含一个主容器,主容器中可以包含其他组件与子容器,子容器还可以有自己的组件与容器
1 | public class TestFrame extends JFrame{ |
二、布局管理器
在进行布局嵌套时,一般选择JPanel作为子容器
1. 手工布局(null)
null布局组件会一个像素不差的放在指定位置
1 | Container c = this.getContentPane();//获取主容器 |
2. BorderLayout边框布局
边框布局最多容纳5个组件,放置在上下左右中间方位,在将组件放入到容器时需要指定方位。JFrame主容器默认使用边框布局
1 | Container c = this.getContentPane();//获取主容器 |
3. FlowLayout流式布局
流式布局会将组件按从左到右,从上到下排列,宽度不够会进行折行处理,可以在初始化布局管理器时选择左对齐、右对齐或居中对齐
1 | Container c = this.getContentPane();//获取主容器 |
4. GridLayout网格布局
网格布局会将组件按行列排列,初始化时需要指定行数列数,并可以选择行间距与列间距
1 | Container c = this.getContentPane();//获取主容器 |
三、事件处理
事件监听接口:
ActionListener | 通过鼠标或键盘选择按钮 |
---|---|
MouseListener | 监听鼠标按下、松开、移入、移出等事件 |
KeyListener | 监听键盘按下、松开等事件 |
FocusListener | 监听组件获取、失去焦点事件 |
WindowListener | 监听窗体最大化、最小化、打开、关闭等事件,仅对JFrame有效 |
1 | public class ClickAndExit extends JFrame{ |
四、其他组件
1 | public class OtherFrame extends JFrame{ |
五、内置对话框
1. JOptionPane
最常用的对话框,可用于弹出消框,输入框和选择框
1 | public class Alert extends JFrame{ |
2. JFileChooser
JFileChooser可以选择磁盘上的文件,能够进行单选或多选,并返回结果
1 | public class FileCh extends JFrame{ |