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

这篇博客介绍了Java Swing中JTable的使用,包括如何通过二维数组创建简单表格,自定义表格模型,以及对行和列的操作如排序和过滤。同时,讲解了单元格的绘制和编辑,包括安装定制的绘制器和编辑器,以及如何实现表格的可编辑性。最后,通过一个TableDemo展示了如何在实际代码中应用这些概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单表格

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类可以

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值