模块 java.desktop

类 TableModelEvent

java.lang.Object
java.util.EventObject
javax.swing.event.TableModelEvent
所有已实现的接口:
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
 
可以使用其他参数组合,并非所有组合都有意义。通过子类化,您可以添加其他信息,例如:事件是否会发生或是否会发生。这使得 DELETE 事件中的行规范更有用,但尚未包含在 swing 包中,因为 JTable 只需要事后通知。

Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder

参见:
  • 字段摘要

    字段
    修饰符和类型
    Field
    描述
    static final int
    指定一行或多行中的所有列。
    protected int
    事件的列。
    static final int
    标识行或列的删除。
    protected int
    已更改的第一行。
    static final int
    标识标题行。
    static final int
    标识新行或列的添加。
    protected int
    已更改的最后一行。
    protected int
    事件的类型。
    static final int
    标识对现有数据的更改。

    在类 java.util.EventObject 中声明的字段

    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) 的单元格已更改。
  • 方法总结

    修饰符和类型
    方法
    描述
    int
    返回事件的列。
    int
    返回更改的第一行。
    int
    返回更改的最后一行。
    int
    返回事件类型 - 以下之一:INSERT、UPDATE 和 DELETE。

    在类 java.util.EventObject 中声明的方法

    getSource, toString

    在类 java.lang.Object 中声明的方法

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • 字段详细信息

    • 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
      事件的列。
  • 构造方法详细信息

    • TableModelEvent

      public TableModelEvent(TableModel  source)
      表中的所有行数据都已更改,监听器应丢弃基于行的任何状态并重新查询 TableModel 以获取新的行数和所有适当的值。 JTable 将在收到此事件时重新绘制整个可见区域,查询模型以获取可见的单元格值。表的结构即列名、类型和顺序没有改变。
      参数:
      source - 受此事件影响的 TableModel
    • TableModelEvent

      public TableModelEvent(TableModel  source, int row)
      此行数据已更新。要表示具有不同结构的全新表的到来,请使用 HEADER_ROW 作为 row 的值。当 JTable 收到此事件并设置其 autoCreateColumnsFromModel 标志时,它会丢弃它拥有的任何 TableColumns,并按照它们在模型中出现的顺序重新分配默认值。这与在 JTable 上调用 setModel(TableModel) 相同。
      参数:
      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)
      列中的单元格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) 的单元格已更改。这column指的是单元格在模型坐标系中的列索引。什么时候column是 ALL_COLUMNS,则指定行范围内的所有单元格都被视为已更改。

      type应该是以下之一:INSERT、UPDATE 和 DELETE。

      参数:
      source - 受此事件影响的 TableModel
      firstRow - 受此事件影响的第一行
      lastRow - 受此事件影响的最后一行
      column - 单元格的列索引已更改; ALL_COLUMNS 表示指定行范围内的所有单元格都已更改。
      type - 此偶数、INSERTDELETE UPDATE 表示的更改类型
  • 方法详情

    • getFirstRow

      public int getFirstRow()
      返回更改的第一行。 HEADER_ROW 表示元数据,即。列的名称、类型和顺序。
      返回:
      表示第一行已更改的整数
    • getLastRow

      public int getLastRow()
      返回更改的最后一行。
      返回:
      表示最后一行更改的整数
    • getColumn

      public int getColumn()
      返回事件的列。如果返回值为ALL_COLUMNS;这意味着指定行中的每一列都已更改。
      返回:
      一个整数,表示哪个列受此事件影响
    • getType

      public int getType()
      返回事件类型 - 以下之一:INSERT、UPDATE 和 DELETE。
      返回:
      表模型的更改类型,行或列的 INSERTDELETE 或数据的 UPDATE