18.1Swing概述
swing主要用来开发GUI(Graphical User Interface)程序,GUI是应用程序提供给用户操作的图形界面,包括窗口、菜单、按钮等图形界面元素。
Swing常用窗体
1.JFrame窗体
JFrame jf=new JFrame();
jf.setTitle("创建一个JFrame窗体");
Container container=jf.getContentPane();
创建窗体后,先调用getContentPane()方法将窗体转换为容器,在调用add()或remove()方法添加或删除容器中的组件。
2.JDialog 对话框
JDialog对话框功能是从一个窗体中弹出另一个窗体
3.自定义对话框
集合输入框,确认框,通知框三个功能
确认框
输入框
通知框
常用布局管理器
null绝对布局
其特点是硬性指定组件在容器中的大小位置,组件的位置通过绝对坐标的方式来指定,使用绝对布局首先要取消Container.setLayout(null)方法取消容器的布局管理器。
FlowLayout流布局管理器
使用流布局管理器拜访组件是,组件被从左往右摆放,溢出组件会被移到当前行的下一行
BorderLayout边界布局管理器
容器默认的布局管理器是边界布局(BorderLayout)管理器,边界布局管理器把容器分为东南、西、北、中5个区域,如果使用了边界布局管理器,在向容器中添加组件时,如果不指定要把组件添加到哪个区域那么当前组件会被默认添加到 CENTER 区域; 如果向同一个区域中添加多个组件,那么后放入的组件会覆盖先放入的组件。
GridLayout网格布局管理器
网格布局管理器能够把容器划分为网格,组件可以按行、列进行排列。在网格布局管理器中,网格的个数由行数和列数决定,且每个网格的大小都相同。例如,一个两行两列的网格布局管理器能够产生4 个大小相等的网格。组件从网格的左上角开始,按照从左到右、从上到下的顺序被添加到网格中,且每个组件都会填满整个网格。改变窗体大小时,组件的大小也会随之改变。
常用面板
面板是一个容器,被用于容纳其他组件,但面板必须添加到其他容器中
JPanel面板
JPanel面板必须在窗体容器中使用,无法脱离窗体显示
JScrollPane滚动面板
用于显示较大篇幅的内容, 滚动面板不能使用布局管理器,且只能容纳一个组件
按钮组件
JCheckBox复选框
JRadioButton单选按钮
列表组件
JComboBox下拉列表
文本组件
JTextField文本框
JTextArea文本域
接受多行文本输入
表格组件
创建表格
JTable(Object[] rowData,Object[] columnNames)
rowData:存储表格数据第二列
columnNames:存储表格列名的一维数组
DeafaultTableModel表格数据模型
表格被创建后还可以使用 setRowSorter0方法为表格设置排序器:当单击表格的某一列的列头时,在这一列的列名后将出现三角形标记,说明将按升序排列表格中的所有行;当再次单击这一列的列头时,标记将变为三角形,说明按降序排列表格中的所有行。
维护表格模型
表格中的数据内容需要予以维护,如使用 getValueAt0方法获得表格中某一个单元格的值,使用addRow0方法向表格中添加新的行,使用 setValueAt0方法修改表格中某一个单元格的值,使用removeRow0方法从表格中删除指定行等。
事件监听器
该监听器负责处理用户单击按钮后实现的功能
ActionEvent动作事件
KeyEvent键盘事件
KeyEvent负责捕捉键盘事件