模块  java.desktop
软件包  javax.swing.event

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

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

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

      • 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,并按照它们在模型中出现的顺序重新分配默认值。 这是与调用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 -改变这个连,标志着型 INSERTDELETEUPDATE
    • 方法详细信息

      • getFirstRow

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

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

        public int getColumn()
        返回事件的列。 如果返回值为ALL_COLUMNS; 它表示指定行中的每个列都已更改。
        结果
        一个整数,表示该事件影响了哪一列
      • getType

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