20170712 Swing下
参考文献:《Java疯狂讲义》(第三版)
为组件色设置边框
Swing 提供了一个BorderFactory静态工厂类,该类提供了大量静态工厂
方法用于返回Border实例,这些静态方法的参数与各Border实现类的构造器
参数基本一致。
知识点:
Border不仅提供了上面提到的一些Border实现类,还提供了
MetalBorders.oolBarBorder、MetalBorders、TextFieldBorder等Border
实现类,这些实现类用作Swing组件的默认边框
Swing组件添加边框可按如下步骤进行
1、使用BorderFactory或者XxxBorder创建XxxBorder实例
2、调用Swing组件的setBorder(Border b)方法为该组件设置边框
Swing组件的双缓冲和键盘驱动
Swing组件还有两个功能:
1、所有Swing组件默认启用双缓冲绘图技术;
2、所有的Swing组件都提供了简单的键盘驱动
双缓冲绘图技术:
能改进频繁重绘GUI组件的显示效果。
如果要关闭双缓冲,可以调用setDoubleBuffered(false)方法
简单的键盘驱动:
JComponent类提供了两个方法:
getInputMap()方法:返回一个InputMap对象,该对象用于将KeyStroke
对象(键盘或其他类似输入设备的一次输入事件)和名字关联;
getActionMap()方法:返回一个ActionMap对象,将该对象用于指定名
字和Action(Action接口是ActionListener接口的子接口)关联
使用JToorBar创建工具条:
创建JToolBar对象时可以指定如下两个参数:
name:该参数指定该工具条的名称;
orientation:该参数指定工具条的方向;
JFileChooser和Java7增强的JColorChooser(颜色选择器对话框)
JOptionPane简单对话框
Swing中的特殊容器:
JSplitPane分割面板
JTabbedPane 多标签页
Swing简化拖放功能
JLayer 装饰组件
JProgressBar 创建进度条
ProgressMonitor 进度条对话框
BoundedRangeModel进度对话框
JSlider 创建滑动条
BoundedRangeModel保存其状态数据的Model对象
JSpinner 创建微调控制器外观
SpinnerModel 控制该组件内部的状态数据
JList 简单列表框
JComboBox
ListModel
ComboBoxModel
知识点:
Swing的绝大部分组件都采用了MVC的设计模式,其中JList和JComboBox
都只负责组件的外观显示,而组件底层的状态数据维护则由对应的Model负
责。
JTree
TreeModel
TreeSelectionModel 保存JTree选中状态
DefaultTreeCellRenderer 改变节点外观
JTable 表格
TableModel
TableModel
TableColumnModel 保存该表格所有数据列的状态数据
JFormattedTextField
JTextPane