本教程是针对JDK 8编写的。本页描述的示例和实践不利用后续版本引入的改进,并可能使用不再可用的技术。
请参阅Java语言更改了解Java SE 9及后续版本中更新的语言功能的摘要。
请参阅JDK发布说明了解有关所有JDK版本的新功能、增强功能以及已删除或弃用选项的信息。
在实例化时,每个JTable
对象都会传入一个表格模型对象,该对象管理其显示的数据。如果没有指定自定义的TableModel
对象,默认情况下,JTable
对象会继承一个DefaultTable
对象,但是默认情况下,该模型只能管理字符串。要处理对象、执行计算或从数据库或其他程序中检索数据,您必须设计自己的自定义TableModel
对象,该对象实现了TableModel
接口。有关详细信息,请参阅创建表格模型。
为了检测表格模型对象管理的数据的更改,JTable
类需要实现TableModelListener
接口,调用addTableModelListener()
方法以捕获事件,然后重写tableChanged()
方法以响应监听器事件。有关详细信息,请参阅监听数据更改。
因为TableModelListener
只有一个方法,所以没有相应的适配器类。
方法 | 目的 |
---|---|
tableChanged(TableModelEvent) | 当表格的结构或数据发生变化时调用。 |
方法 | 目的 |
---|---|
Object getSource() (在 java.util.EventObject 中) |
返回触发事件的对象。 |
int getFirstRow() | 返回发生变化的第一行的索引。 TableModelEvent.HEADER_ROW 指定表头。 |
int getLastRow() | 返回发生变化的最后一行。同样,HEADER_ROW 是可能的值。 |
int getColumn() | 返回发生变化的列的索引。常量TableModelEvent.ALL_COLUMNS 指定可能所有列都已更改。 |
int getType() | 更改的单元格发生了什么。返回值是以下之一:TableModelEvent.INSERT 、TableModelEvent.DELETE 或TableModelEvent.UPDATE 。 |