java.lang.Object
java.util.EventObject
javax.swing.event.TableModelEvent
- All Implemented Interfaces:
Serializable
public class TableModelEvent extends EventObject
TableModelEvent is used to notify listeners that a table model
has changed. The model event describes changes to a TableModel
and all references to rows and columns are in the co-ordinate
system of the model.
Depending on the parameters used in the constructors, the TableModelevent
can be used to specify the following types of changes:
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 deletedIt is possible to use other combinations of the parameters, not all of them are meaningful. By subclassing, you can add other information, for example: whether the event WILL happen or DID happen. This makes the specification of rows in DELETE events more useful but has not been included in the swing package as the JTable only needs post-event notification.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeans™
has been added to the java.beans
package.
Please see XMLEncoder
.
- See Also:
TableModel
-
Field Summary
Fields Modifier and Type Field Description static int
ALL_COLUMNS
Specifies all columns in a row or rows.protected int
column
The column for the event.static int
DELETE
Identifies the removal of rows or columns.protected int
firstRow
The first row that has changed.static int
HEADER_ROW
Identifies the header row.static int
INSERT
Identifies the addition of new rows or columns.protected int
lastRow
The last row that has changed.protected int
type
The type of the event.static int
UPDATE
Identifies a change to existing data. -
Constructor Summary
Constructors Constructor Description TableModelEvent(TableModel source)
All row data in the table has changed, listeners should discard any state that was based on the rows and requery theTableModel
to get the new row count and all the appropriate values.TableModelEvent(TableModel source, int row)
This row of data has been updated.TableModelEvent(TableModel source, int firstRow, int lastRow)
The data in rows [firstRow, lastRow] have been updated.TableModelEvent(TableModel source, int firstRow, int lastRow, int column)
The cells in column column in the range [firstRow, lastRow] have been updated.TableModelEvent(TableModel source, int firstRow, int lastRow, int column, int type)
The cells from (firstRow, column) to (lastRow, column) have been changed. -
Method Summary
Modifier and Type Method Description int
getColumn()
Returns the column for the event.int
getFirstRow()
Returns the first row that changed.int
getLastRow()
Returns the last row that changed.int
getType()
Returns the type of event - one of: INSERT, UPDATE and DELETE.
-
Field Details
-
INSERT
public static final int INSERTIdentifies the addition of new rows or columns.- See Also:
- Constant Field Values
-
UPDATE
public static final int UPDATEIdentifies a change to existing data.- See Also:
- Constant Field Values
-
DELETE
public static final int DELETEIdentifies the removal of rows or columns.- See Also:
- Constant Field Values
-
HEADER_ROW
public static final int HEADER_ROWIdentifies the header row.- See Also:
- Constant Field Values
-
ALL_COLUMNS
public static final int ALL_COLUMNSSpecifies all columns in a row or rows.- See Also:
- Constant Field Values
-
type
protected int typeThe type of the event. -
firstRow
protected int firstRowThe first row that has changed. -
lastRow
protected int lastRowThe last row that has changed. -
column
protected int columnThe column for the event.
-
-
Constructor Details
-
TableModelEvent
All row data in the table has changed, listeners should discard any state that was based on the rows and requery theTableModel
to get the new row count and all the appropriate values. TheJTable
will repaint the entire visible region on receiving this event, querying the model for the cell values that are visible. The structure of the table ie, the column names, types and order have not changed.- Parameters:
source
- theTableModel
affected by this event
-
TableModelEvent
This row of data has been updated. To denote the arrival of a completely new table with a different structure useHEADER_ROW
as the value for therow
. When theJTable
receives this event and itsautoCreateColumnsFromModel
flag is set it discards any TableColumns that it had and reallocates default ones in the order they appear in the model. This is the same as callingsetModel(TableModel)
on theJTable
.- Parameters:
source
- theTableModel
affected by this eventrow
- the row which has been updated
-
TableModelEvent
The data in rows [firstRow, lastRow] have been updated.- Parameters:
source
- theTableModel
affected by this eventfirstRow
- the first row affected by this eventlastRow
- the last row affected by this event
-
TableModelEvent
The cells in column column in the range [firstRow, lastRow] have been updated.- Parameters:
source
- theTableModel
affected by this eventfirstRow
- the first row affected by this eventlastRow
- the last row affected by this eventcolumn
- the column index of cells changed;ALL_COLUMNS
signifies all cells in the specified range of rows are changed.
-
TableModelEvent
The cells from (firstRow, column) to (lastRow, column) have been changed. The column refers to the column index of the cell in the model's co-ordinate system. When column is ALL_COLUMNS, all cells in the specified range of rows are considered changed.The type should be one of: INSERT, UPDATE and DELETE.
- Parameters:
source
- theTableModel
affected by this eventfirstRow
- the first row affected by this eventlastRow
- the last row affected by this eventcolumn
- the column index of cells changed;ALL_COLUMNS
signifies all cells in the specified range of rows are changed.type
- the type of change signified by this even,INSERT
,DELETE
orUPDATE
-
-
Method Details
-
getFirstRow
public int getFirstRow()Returns the first row that changed. HEADER_ROW means the meta data, ie. names, types and order of the columns.- Returns:
- an integer signifying the first row changed
-
getLastRow
public int getLastRow()Returns the last row that changed.- Returns:
- an integer signifying the last row changed
-
getColumn
public int getColumn()Returns the column for the event. If the return value is ALL_COLUMNS; it means every column in the specified rows changed.- Returns:
- an integer signifying which column is affected by this event
-
getType
public int getType()Returns the type of event - one of: INSERT, UPDATE and DELETE.- Returns:
- the type of change to a table model, an
INSERT
orDELETE
of row(s) or column(s) orUPDATE
to data
-