简单表格
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类可以
用于负责事件处理的细节。