- java.lang.Object
-
- java.util.EventObject
-
- javax.swing.event.TableModelEvent
-
- All Implemented Interfaces:
-
Serializable
public class TableModelEvent extends EventObject
TableModelEvent用于通知侦听器表模型已更改。 模型事件描述对TableModel的更改,并且对行和列的所有引用都位于模型的坐标系统中。 根据构造函数中使用的参数,TableModelevent可用于指定以下类型的更改:TableModelEvent(source); // The data, ie. all rows changed TableModelEvent(source, HEADER_ROW); // Structure change, reallocate TableColumns TableModelEvent(source, 1); // Row 1 changed TableModelEvent(source, 3, 6); // Rows 3 to 6 inclusive changed TableModelEvent(source, 2, 2, 6); // Cell at (2, 6) changed TableModelEvent(source, 3, 6, ALL_COLUMNS, INSERT); // Rows (3, 6) were inserted TableModelEvent(source, 3, 6, ALL_COLUMNS, DELETE); // Rows (3, 6) were deleted
可以使用参数的其他组合,并不是全部都是有意义的。 通过子类化,您可以添加其他信息,例如:事件是否发生或DID发生。 这使得DELETE事件中的行的规范更有用,但是没有包含在swing包中,因为JTable只需要事件后通知。警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,支持所有JavaBeans的长期存储已被添加到
java.beans
包中。 请参阅XMLEncoder
。- 另请参见:
-
TableModel
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field 描述 static int
ALL_COLUMNS
指定一行或多行中的所有列。protected int
column
事件列。static int
DELETE
标识删除行或列。protected int
firstRow
第一行已更改。static int
HEADER_ROW
标识标题行。static int
INSERT
标识新行或列的添加。protected int
lastRow
最后一行已更改。protected int
type
事件的类型。static int
UPDATE
标识对现有数据的更改。-
Fields inherited from class java.util.EventObject
source
-
-
构造方法摘要
构造方法 Constructor 描述 TableModelEvent(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)
范围[ firstRow , lastRow ]中列 列中的 单元格已更新。TableModelEvent(TableModel source, int firstRow, int lastRow, int column, int type)
(firstRow,column)到(lastRow,column)的单元格已更改。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 int
getColumn()
返回事件的列。int
getFirstRow()
返回更改的第一行。int
getLastRow()
返回更改的最后一行。int
getType()
返回事件的类型 - 其中之一:INSERT,UPDATE和DELETE。-
Methods inherited from class java.util.EventObject
getSource, toString
-
-
-
-
字段详细信息
-
INSERT
public static final int INSERT
标识新行或列的添加。- 另请参见:
- Constant Field Values
-
UPDATE
public static final int UPDATE
标识对现有数据的更改。- 另请参见:
- Constant Field Values
-
DELETE
public static final int DELETE
标识删除行或列。- 另请参见:
- Constant Field Values
-
HEADER_ROW
public static final int HEADER_ROW
标识标题行。- 另请参见:
- Constant Field Values
-
ALL_COLUMNS
public static final int ALL_COLUMNS
指定一行或多行中的所有列。- 另请参见:
- Constant Field Values
-
type
protected int type
事件的类型。
-
firstRow
protected int firstRow
第一行已更改。
-
lastRow
protected int lastRow
最后一行已更改。
-
column
protected int column
事件列。
-
-
构造方法详细信息
-
TableModelEvent
public TableModelEvent(TableModel source)
表中的所有行数据已更改,侦听器应丢弃基于行的任何状态,并重新查询TableModel
以获取新行计数和所有适当的值。JTable
将在收到此事件时重新绘制整个可见区域,向模型查询可见的单元格值。 表的结构,即列名,类型和顺序没有改变。- 参数
-
source
- 受此事件影响的TableModel
-
TableModelEvent
public TableModelEvent(TableModel source, int row)
此行数据已更新。 为了表示一个完全新的表中的具有不同结构的使用到来HEADER_ROW
作为值row
。 当JTable
收到此事件并且其autoCreateColumnsFromModel
标志被设置时,它将丢弃它所拥有的任何TableColumn,并按照它们在模型中显示的顺序重新分配默认值。 这与setModel(TableModel)
上的JTable
。- 参数
-
source
- 受此事件影响的TableModel
-
row
- 已更新的行
-
TableModelEvent
public TableModelEvent(TableModel source, int firstRow, int lastRow)
行[ firstRow , lastRow ]中的数据已更新。- 参数
-
source
- 受此事件影响的TableModel
-
firstRow
- 受此事件影响的第一行 -
lastRow
- 受此事件影响的最后一行
-
TableModelEvent
public TableModelEvent(TableModel source, int firstRow, int lastRow, int column)
范围[ firstRow , lastRow ]中列 列中的 单元格已更新。- 参数
-
source
- 受此事件影响的TableModel
-
firstRow
- 受此事件影响的第一行 -
lastRow
- 受此事件影响的最后一行 -
column
- 单元格的列索引已更改;ALL_COLUMNS
表示指定行范围内的所有单元格都被更改。
-
TableModelEvent
public TableModelEvent(TableModel source, int firstRow, int lastRow, int column, int type)
(firstRow,column)到(lastRow,column)的单元格已更改。 列是指模型坐标系中单元格的列索引。 当塔是ALL_COLUMNS,在指定行范围内的所有细胞被认为是改变了。该类型应该是:INSERT,UPDATE和DELETE之一。
- 参数
-
source
- 受此事件影响的TableModel
-
firstRow
- 受此事件影响的第一行 -
lastRow
- 受此事件影响的最后一行 -
column
- 单元格的列索引已更改;ALL_COLUMNS
表示指定行范围内的所有单元格都被更改。 -
type
-改变这个连,标志着型INSERT
,DELETE
或者UPDATE
-
-
方法详细信息
-
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
数据
-
-