java.lang.Object
java.util.EventObject
javax.swing.event.TableModelEvent
- 所有已实现的接口:
-
Serializable
TableModelEvent 用于通知监听器表格模型已更改。该模型事件描述了对 TableModel 的更改,所有对行和列的引用都在模型的坐标系中。根据构造函数中使用的参数,TableModelEvent 可用于指定以下类型的更改:
TableModelEvent(source); // 数据,即所有行已更改 TableModelEvent(source, HEADER_ROW); // 结构更改,重新分配 TableColumns TableModelEvent(source, 1); // 第 1 行已更改 TableModelEvent(source, 3, 6); // 第 3 行到第 6 行(包括)已更改 TableModelEvent(source, 2, 2, 6); // 单元格 (2, 6) 已更改 TableModelEvent(source, 3, 6, ALL_COLUMNS, INSERT); // 第 3 行到第 6 行已插入 TableModelEvent(source, 3, 6, ALL_COLUMNS, DELETE); // 第 3 行到第 6 行已删除可以使用其他参数组合,但并非所有都有意义。通过子类化,可以添加其他信息,例如:事件是否将发生或已发生。这使得在 DELETE 事件中指定行的规范更有用,但由于 JTable 只需要后事件通知,因此未包含在 swing 包中。
警告: 该类的序列化对象将不兼容未来的 Swing 版本。当前的序列化支持适用于短期存储或在运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版开始,已将对所有 JavaBeans 的长期存储支持添加到 java.beans
包中。请参见 XMLEncoder
。
- 参见:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
指定一行或多行中的所有列。protected int
事件的列。static final int
标识行或列的移除。protected int
已更改的第一行。static final int
标识标题行。static final int
标识新行或列的添加。protected int
已更改的最后一行。protected int
事件的类型。static final int
标识对现有数据的更改。Fields declared in class java.util.EventObject
source
-
Constructor Summary
ConstructorDescriptionTableModelEvent
(TableModel source) 表中的所有行数据已更改,监听器应丢弃基于行的任何状态并重新查询TableModel
以获取新的行数和所有适当的值。TableModelEvent
(TableModel source, int row) 此数据行已更新。TableModelEvent
(TableModel source, int firstRow, int lastRow) 行 [firstRow, lastRow] 中的数据已更新。TableModelEvent
(TableModel source, int firstRow, int lastRow, int column) 列 column 中范围 [firstRow, lastRow] 的单元格已更新。TableModelEvent
(TableModel source, int firstRow, int lastRow, int column, int type) 从 (firstRow, column) 到 (lastRow, column) 的单元格已更改。 -
Method Summary
Modifier and TypeMethodDescriptionint
返回事件的列。int
返回已更改的第一行。int
返回已更改的最后一行。int
getType()
返回事件的类型 - INSERT、UPDATE 和 DELETE 中的一种。Methods declared in class java.util.EventObject
getSource, toString
-
Field Details
-
INSERT
public static final int INSERT标识新行或列的添加。- 参见:
-
UPDATE
public static final int UPDATE标识对现有数据的更改。- 参见:
-
DELETE
public static final int DELETE标识行或列的移除。- 参见:
-
HEADER_ROW
public static final int HEADER_ROW标识标题行。- 参见:
-
ALL_COLUMNS
public static final int ALL_COLUMNS指定一行或多行中的所有列。- 参见:
-
type
protected int type事件的类型。 -
firstRow
protected int firstRow已更改的第一行。 -
lastRow
protected int lastRow已更改的最后一行。 -
column
protected int column事件的列。
-
-
Constructor Details
-
TableModelEvent
表中的所有行数据已更改,监听器应丢弃基于行的任何状态并重新查询TableModel
以获取新的行数和所有适当的值。在收到此事件时,JTable
将重新绘制整个可见区域,查询模型以获取可见的单元格值。表的结构,即列名、类型和顺序未更改。- 参数:
-
source
- 受此事件影响的TableModel
-
TableModelEvent
此数据行已更新。要表示具有不同结构的全新表格的到达,请将HEADER_ROW
用作row
的值。当JTable
收到此事件并且其autoCreateColumnsFromModel
标志已设置时,它会丢弃任何已有的 TableColumns,并按照它们在模型中出现的顺序重新分配默认的 TableColumns。这与在JTable
上调用setModel(TableModel)
相同。- 参数:
-
source
- 受此事件影响的TableModel
-
row
- 已更新的行
-
TableModelEvent
行 [firstRow, lastRow] 中的数据已更新。- 参数:
-
source
- 受此事件影响的TableModel
-
firstRow
- 受此事件影响的第一行 -
lastRow
- 受此事件影响的最后一行
-
TableModelEvent
列 column 中范围 [firstRow, lastRow] 的单元格已更新。- 参数:
-
source
- 受此事件影响的TableModel
-
firstRow
- 受此事件影响的第一行 -
lastRow
- 受此事件影响的最后一行 -
column
- 更改的单元格的列索引;ALL_COLUMNS
表示更改指定行范围内的所有单元格。
-
TableModelEvent
从 (firstRow, column) 到 (lastRow, column) 的单元格已更改。这里的 column 指的是模型坐标系中单元格的列索引。当 column 为 ALL_COLUMNS 时,将认为更改了指定行范围内的所有单元格。type 应为 INSERT、UPDATE 和 DELETE 中的一种。
- 参数:
-
source
- 受此事件影响的TableModel
-
firstRow
- 受此事件影响的第一行 -
lastRow
- 受此事件影响的最后一行 -
column
- 更改的单元格的列索引;ALL_COLUMNS
表示更改指定行范围内的所有单元格。 -
type
- 此事件表示的更改类型,INSERT
、DELETE
或UPDATE
-
-
Method Details
-
getFirstRow
public int getFirstRow()返回已更改的第一行。HEADER_ROW 表示元数据,即列的名称、类型和顺序。- 返回:
- 一个整数,表示已更改的第一行
-
getLastRow
public int getLastRow()返回已更改的最后一行。- 返回:
- 一个整数,表示已更改的最后一行
-
getColumn
public int getColumn()返回事件的列。如果返回值为 ALL_COLUMNS,则表示指定行中的每列都已更改。- 返回:
- 一个整数,表示受此事件影响的列
-
getType
public int getType()返回事件的类型 - INSERT、UPDATE 和 DELETE 中的一种。- 返回:
-
表模型的更改类型,行或列的
INSERT
或DELETE
,或数据的UPDATE
-