Java核心技术(高级Swing)二表格

来源:互联网 发布:动漫 惊艳 音乐 知乎 编辑:程序博客网 时间:2024/04/30 08:27

简单表格

JTable并不存储它自己的数据,而是从一个表格模型中获得它的数据。JTable类有一个构造器能够将一个二维对象数组包装到一个默认的模型。简单表格直接调用每个对象上的toString方法来显示它们。

表格模型

可以利用AbstractTableModel类来实现表格模型,它实现了大部分必需的方法,仅仅需要实现如下方法:

public int getRowCount();

public int getColumnCount();

public Object getValueAt(int row, int column);

对行和列的操作

JTable类将有关表格列的信息存放在类型为TableColumn的对象中,由一个TableColumnModel对象负责管理这些列。可以向

JTable中添加排序机制,如果要对排序行为进行细粒度的控制,就必需像JTable中安装一个TableRowSorter<M>对象,并对其进行定

制化。类型参数M表示表格模型,必须是TableModel接口的子类型。TableRowSorter还可以有选择性地隐藏行,这种处理称为过滤器。

想要激活过滤机制,需要设置RowFilter。

单元格的绘制和编辑

列的类型确定了单元格应该如何绘制。Boolean和Icon类型有默认的绘制器,它们将绘制为复选框或图标,而对于其他类型,都需

要安装定制的绘制器。表格单元绘制器实现TableCellRenderer接口。为了使单元格可编辑,表格模型必须通过定义isCellEditable方法

指明哪些单元格是可编辑的。定制编辑器:创建一个定制的单元格编辑器,需要实现TableCellEditor接口。AbstractCellEditor类可以

用于负责事件处理的细节。

原创粉丝点击