如何编写表模型监听器
原文: https://docs.oracle.com/javase/tutorial/uiswing/events/tablemodellistener.html
在实例化时,每个 JTable
对象被传递一个表模型对象,该对象管理它显示的数据。默认情况下,如果未指定自定义TableModel
对象,JTable
对象将继承DefaultTable
对象,但默认情况下,此模型仅管理字符串。要处理对象,执行计算或从数据库或其他程序检索数据,您必须设计自己的自定义TableModel
对象,该对象实现TableModel
接口。有关详细信息,请参见创建表模型。
要检测由表模型对象管理的数据的更改,JTable
类需要实现TableModelListener
接口,调用addTableModelListener()
来捕获事件,然后覆盖tableChanged()
以响应监听器事件。有关详细信息,请参见收听数据更改。
因为TableModelListener
只有一个方法,所以它没有相应的适配器类。
方法 | 目的 |
---|---|
tableChanged(TableModelEvent) | 当表中的结构或数据发生更改时调用。 |
方法 | 目的 |
---|---|
对象 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
。 |