第18章Swing程序设计

Swing主要用于开发GUI程序,GUT是应用程序提供给用户操作的图形界面,包括窗口、菜单、按钮等图形界面元素。

 第18章Swing程序设计_第1张图片

Swing常用窗体 

1.JFrame窗体

JFrame jf=new JFrame();

jf.setTitle("创建一个JFrame窗体");

Container container=jf.getContentPane();

 创建窗体后,先调用getContentPane()方法将窗体转换为容器,在调用add()或remove()方法添加或删除容器中的组件。

第18章Swing程序设计_第2张图片
 
2.JDialog 对话框

JDialog对话框功能是从一个窗体中弹出另一个窗体

第18章Swing程序设计_第3张图片

第18章Swing程序设计_第4张图片

 3.自定义对话框

集合输入框,确认框,通知框三个功能

第18章Swing程序设计_第5张图片

 确认框

第18章Swing程序设计_第6张图片

输入框

第18章Swing程序设计_第7张图片

通知框第18章Swing程序设计_第8张图片 

常用布局管理器 

null绝对布局

其特点是硬性指定组件在容器中的大小位置,组件的位置通过绝对坐标的方式来指定,使用绝对布局首先要取消Container.setLayout(null)方法取消容器的布局管理器。 

第18章Swing程序设计_第9张图片

FlowLayout流布局管理器 

使用流布局管理器拜访组件是,组件被从左往右摆放,溢出组件会被移到当前行的下一行

第18章Swing程序设计_第10张图片

 BorderLayout边界布局管理器

容器默认的布局管理器是边界布局(BorderLayout)管理器,边界布局管理器把容器分为东南、西、北、中5个区域,如果使用了边界布局管理器,在向容器中添加组件时,如果不指定要把组件添加到哪个区域那么当前组件会被默认添加到 CENTER 区域; 如果向同一个区域中添加多个组件,那么后放入的组件会覆盖先放入的组件。

第18章Swing程序设计_第11张图片

第18章Swing程序设计_第12张图片GridLayout网格布局管理器 

网格布局管理器能够把容器划分为网格,组件可以按行、列进行排列。在网格布局管理器中,网格的个数由行数和列数决定,且每个网格的大小都相同。例如,一个两行两列的网格布局管理器能够产生4 个大小相等的网格。组件从网格的左上角开始,按照从左到右、从上到下的顺序被添加到网格中,且每个组件都会填满整个网格。改变窗体大小时,组件的大小也会随之改变。 

第18章Swing程序设计_第13张图片

 常用面板

面板是一个容器,被用于容纳其他组件,但面板必须添加到其他容器中

JPanel面板

JPanel面板必须在窗体容器中使用,无法脱离窗体显示

第18章Swing程序设计_第14张图片

第18章Swing程序设计_第15张图片 第18章Swing程序设计_第16张图片

 JScrollPane滚动面板

用于显示较大篇幅的内容, 滚动面板不能使用布局管理器,且只能容纳一个组件

第18章Swing程序设计_第17张图片

 图标的使用

第18章Swing程序设计_第18张图片

按钮组件 

 JCheckBox复选框

第18章Swing程序设计_第19张图片

第18章Swing程序设计_第20张图片

 JRadioButton单选按钮

第18章Swing程序设计_第21张图片

列表组件 

JComboBox下拉列表

第18章Swing程序设计_第22张图片

第18章Swing程序设计_第23张图片

文本组件

JTextField文本框

第18章Swing程序设计_第24张图片

第18章Swing程序设计_第25张图片

 JTextArea文本域

接受多行文本输入

第18章Swing程序设计_第26张图片

 表格组件

创建表格

JTable(Object[] rowData,Object[] columnNames)

rowData:存储表格数据第二列

columnNames:存储表格列名的一维数组

第18章Swing程序设计_第27张图片

DeafaultTableModel表格数据模型

表格被创建后还可以使用 setRowSorter0方法为表格设置排序器:当单击表格的某一列的列头时,在这一列的列名后将出现三角形标记,说明将按升序排列表格中的所有行;当再次单击这一列的列头时,标记将变为三角形,说明按降序排列表格中的所有行。

第18章Swing程序设计_第28张图片

第18章Swing程序设计_第29张图片 

维护表格模型

表格中的数据内容需要予以维护,如使用 getValueAt0方法获得表格中某一个单元格的值,使用addRow0方法向表格中添加新的行,使用 setValueAt0方法修改表格中某一个单元格的值,使用removeRow0方法从表格中删除指定行等。

第18章Swing程序设计_第30张图片

第18章Swing程序设计_第31张图片

第18章Swing程序设计_第32张图片 

 第18章Swing程序设计_第33张图片

第18章Swing程序设计_第34张图片 

事件监听器

该监听器负责处理用户单击按钮后实现的功能

ActionEvent动作事件第18章Swing程序设计_第35张图片

第18章Swing程序设计_第36张图片 

KeyEvent键盘事件 

KeyEvent负责捕捉键盘事件

第18章Swing程序设计_第37张图片

 第18章Swing程序设计_第38张图片

第18章Swing程序设计_第39张图片

MouseEvent鼠标事件

第18章Swing程序设计_第40张图片

第18章Swing程序设计_第41张图片 第18章Swing程序设计_第42张图片

你可能感兴趣的:(java,开发语言)