一.Swing概述
二.Swing常用窗体
1.JFrame窗体
创建一个不可见、具有标题的窗体,关键代码:
JFrame jf=new JFrame("登陆系统");
Container container=jf.getContentPane();
在创建窗体后,先调用getContentPane()方法将窗体转换为容器,再调用add()方法或者remove()方法向容器中添加组件或者删除容器中的组件。向容器中添加按钮,关键代码:
JButton okBtn=new JButton("确定")
Container.add(okBtn)
删除容器中的按钮,关键代码:
container.remove(okBtn);
结果:
2.JDialog对话框
JDialog类常用的构造方法:
public JDialog():创建一个没有标题和父窗体的对话框
public JDialog(Frame f):创建一个没有标题,但指定父窗体的对话框
public JDialog(Frame f,boolean model):创建一个没有标题,但指定父窗体和模式的对话框。如果model为 true,那么弹出对话框后,用户无法操作父窗体
public JDialog(Fream f,String title):创建一个指定标题和父窗体的对话框
public JDialog(Frame f,String title,boolean model):创建一个指定标题、父窗体和模式的对话框
【例18.2】在窗体中弹出对话框
代码:
结果:
3.JOptionPane小型对话框
(2)确认框
(3)输入框
(4)通知框
【例18.3】弹出会话框,问用户准备好了吗
代码:
结果:
【例18.4】弹出会话框,询问用户是否离开
代码:
结果:
结果:
【例18.6】弹出警告对话框
代码:
结果:
三.常用布局管理器
1.null绝对布局
【例18.7】使用绝对布局定位按钮位置和大小
代码:
结果:
2.FlowLayout流布局管理器
FlowLayout类具有以下的构造方法:
public FlowLayout()
public FlowLayout(int alignment)
public FlowLayout(int alignment,int horizGap,int vertGap)
【例18.8】使用流布局排序按钮
代码:
结果:
3.BorderLayout边界布局管理器
add()方法被用于实现向容器中添加组件的功能,它可以设置组件的摆放位置。add()方法常用的语法格式:
public void add(Compponent comp,Object constraints)
comp:被添加的组件。
constraints:被添加组件的布局约束对象。
【例18.9】使用边界布局排列按钮
代码:
结果:
4.GridLayout网格布局管理器
网格布局管理器主要有以下两个常用的构造方法:
public GridLayout(int rows,int columns)
public GridLayout(int rows,int columns,int horizGap,int vertGap)
【例18.10】使用网格布局排列按钮
代码:
结果:
四.常用面板
1.JPanel面板
【例18.11】在一个窗体中显示4种布局风格的面板
代码:
结果:
2.JScrollPane滚动面板
【例18.12】为窗体添加上下滚动条
代码:
结果:
五.文字标签组件与图标
1.JLabel标签
【例18.13】在窗体中显示文字标签
代码:
结果:
2.图标的使用
【例18.14】在窗体中演示图标
代码:
结果:
结果:
九.表格组件
1.创建表格
【例18.22】创建带滚动条的表格
代码:
结果:
2.DefaultTableModel表格数据模型
AbstractTableModel抽象类实现了TableModel接口的大部分方法,只有以下3个抽象方法没有实现:
public int getRowCounts();
public int getColumnCount();
public Object getValueAt(int rowIndex,int columnIndex);
【例18.23】表格自动排序
代码:
结果:
3.维护表格模型
【例18.24】对表格内容进行增删改查
代码:
结果: