Module  java.desktop
软件包  javax.swing.event

Class 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

    另请参见:
    TableModelSerialized Form
    • 字段详细信息

      • INSERT

        public static final int INSERT
        标识新行或列的添加。
        另请参见:
        Constant Field Values
      • UPDATE

        public static final int UPDATE
        标识对现有数据的更改。
        另请参见:
        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)
        行[ firstRowlastRow ]中的数据已更新。
        参数
        source - 受此事件影响的 TableModel
        firstRow - 受此事件影响的第一行
        lastRow - 受此事件影响的最后一行
      • TableModelEvent

        public TableModelEvent​(TableModel source,
                               int firstRow,
                               int lastRow,
                               int column)
        范围[ firstRowlastRow ]中列 中的 单元格已更新。
        参数
        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 -改变这个连,标志着型 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数据