浅谈Java利用表格模型创建表格 原创
作者:司机
用来创建表格的 JTable 类并不负责存储表格中的数据,而是由表格模型负责存储。当利用 JTable 类直接创建表格时,只是将数据封装到了默认的表格模型中。接下来,我们来学习表格模型的使用方法。
利用表格模型创建表格
接口 TableModel 定义了一个表格模型,抽象类 AbstractTableModel 实现了 TableModel 接口的大部分方法,只有一下三个抽象方法没有实现。
(1)public int getRowCount() (2)public int getColumnCount() (3)public Object getValueAt(int rowIndex , int columnIndex)
通过继承 AbstractTableModel 类实现上面三个抽象方法可以创建自己的表格模型类。DefaultTableModel 类便是由 Swing 提供的继承了 AbstractTableModel 类并实现了上面三个抽象方法的表格模型类。
表格模型创建完成后,通过 JTable 类的构造方法 JTable(TableModel dm)创建表格,就实现了利用表格模型创建表格。
从JDK 1.6 开始,提供了对表格进行排序的功能。通过 JTable 类的 setRowSoreter(RowSorter<?extends TableModel>sorter)方法可以为表格设置排序器。TableRowSorter 类是由Swing 提供的排序器类。为表格设置排序器的典型代码如下:
DefaultTableModel tableModel = new DefaultTableModel(); //创建表格模型 JTable table = new JTable(tableModel); //创建表格 table.setRowSorter(new TableRowSorter(tableModel)); //设置排序器
如果为表格设置了排序器,当单机表格的某一列头时,在该列名称的后面将出现▲标记,说明按该列升序排列表格中的所有行;当再次单机该列头时,标记将变成▼,说明按该列降序排列表格中的所有行。
注意:
在使用表格排序器时,通常要为其设置表格模型。一种方法是通过构造方法 TableRowSorter(TableModel model)创建排序器;另一种方法是通过 setModel(TableModel model)方法为排序器设置表格模型。
以上就是本文的所有内容,谢谢大家对本站的支持,后面更加精彩!