com.sas.swing.event
Class SwingTableModelEvent

com.sas.swing.event.SwingTableModelEvent
All Implemented Interfaces:
java.io.Serializable

public class SwingTableModelEvent

SwingTableModelEvent 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 SwingTableModelEvent can be used to specify the following types of changes:

 SwingTableModelEvent(source);              //  The data, ie. all rows changed 
 SwingTableModelEvent(source, HEADER_ROW);  //  Structure change, reallocate TableColumns
 SwingTableModelEvent(source, 1);           //  Row 1 changed
 SwingTableModelEvent(source, 3, 6);        //  Rows 3 to 6 inclusive changed
 SwingTableModelEvent(source, 2, 2, 6);     //  Cell at (2, 6) changed
 SwingTableModelEvent(source, 3, 6, ALL_COLUMNS, INSERT); // Rows (3, 6) were inserted
 SwingTableModelEvent(source, 3, 6, ALL_COLUMNS, DELETE); // Rows (3, 6) were deleted
 SwingTableModelEvent(source, ALL_ROWS, ALL_ROWS, 3, COLUMN_MOVE, 5) // Column 3 was move to column 5
 SwingTableModelEvent(source, ALL_ROWS, ALL_ROWS, 3, COLUMN_NAME, "foo", "bar") // The name of column 3 was changed from "foo" to "bar"
 
It 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 JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

See Also:
TableModelEvent, Serialized Form

Field Summary
static int ALL_ROWS
          Specifies all rows in a column or column.
static int COLUMN_MOVE
          Identifies that a column has moved.
static int COLUMN_NAME
          Identifies that a column has moved.
protected  int newColumn
           
protected  java.lang.String newColumnName
           
protected  java.lang.String oldColumnName
           
 
Constructor Summary
SwingTableModelEvent(javax.swing.table.TableModel source)
          All row data in the table has changed, listeners should discard any state that was based on the rows and requery the TableModel to get the new row count and all the appropriate values.
SwingTableModelEvent(javax.swing.table.TableModel source, int row)
          This row of data has been updated.
SwingTableModelEvent(javax.swing.table.TableModel source, int firstRow, int lastRow)
          The data in rows [firstRow, lastRow] have been updated.
SwingTableModelEvent(javax.swing.table.TableModel source, int firstRow, int lastRow, int column)
          The cells in column column in the range [firstRow, lastRow] have been updated.
SwingTableModelEvent(javax.swing.table.TableModel source, int firstRow, int lastRow, int column, int type)
          The cells from (firstRow, column) to (lastRow, column) have been changed.
SwingTableModelEvent(javax.swing.table.TableModel source, int firstRow, int lastRow, int column, int type, int newColumn)
          The cells from (firstRow, column) to (lastRow, column) have been changed.
SwingTableModelEvent(javax.swing.table.TableModel source, int firstRow, int lastRow, int column, int type, java.lang.String oldName, java.lang.String newName)
          The cells from (firstRow, column) to (lastRow, column) have been changed.
 
Method Summary
 int getNewColumn()
          Returns the newColumn for the event.
 java.lang.String getNewColumnName()
          Returns the new name of the column for the event.
 java.lang.String getOldColumnName()
          Returns the old name of the column for the event.
 

Field Detail

COLUMN_MOVE

public static final int COLUMN_MOVE
Identifies that a column has moved.

See Also:
Constant Field Values

COLUMN_NAME

public static final int COLUMN_NAME
Identifies that a column has moved.

See Also:
Constant Field Values

ALL_ROWS

public static final int ALL_ROWS
Specifies all rows in a column or column.

See Also:
Constant Field Values

newColumn

protected int newColumn

oldColumnName

protected java.lang.String oldColumnName

newColumnName

protected java.lang.String newColumnName
Constructor Detail

SwingTableModelEvent

public SwingTableModelEvent(javax.swing.table.TableModel source)
All row data in the table has changed, listeners should discard any state that was based on the rows and requery the TableModel to get the new row count and all the appropriate values. The JTable 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.


SwingTableModelEvent

public SwingTableModelEvent(javax.swing.table.TableModel source,
                            int row)
This row of data has been updated. To denote the arrival of a completely new table with a different structure use HEADER_ROW as the value for the row. When the JTable receives this event and its autoCreateColumnsFromModel 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 calling setModel(TableModel) on the JTable.


SwingTableModelEvent

public SwingTableModelEvent(javax.swing.table.TableModel source,
                            int firstRow,
                            int lastRow)
The data in rows [firstRow, lastRow] have been updated.


SwingTableModelEvent

public SwingTableModelEvent(javax.swing.table.TableModel source,
                            int firstRow,
                            int lastRow,
                            int column)
The cells in column column in the range [firstRow, lastRow] have been updated.


SwingTableModelEvent

public SwingTableModelEvent(javax.swing.table.TableModel source,
                            int firstRow,
                            int lastRow,
                            int column,
                            int type)
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, DELETE, and COLUMN_MOVE.


SwingTableModelEvent

public SwingTableModelEvent(javax.swing.table.TableModel source,
                            int firstRow,
                            int lastRow,
                            int column,
                            int type,
                            int newColumn)
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. When type is COLUMN_MOVE or COLUMN_NAME, then column is the original index of the column, or where the column moved from, and newColumn is the new index of the column, or where the column moved to.

The type should be one of: INSERT, UPDATE, DELETE, COLUMN_MOVE, COLUMN_NAME.


SwingTableModelEvent

public SwingTableModelEvent(javax.swing.table.TableModel source,
                            int firstRow,
                            int lastRow,
                            int column,
                            int type,
                            java.lang.String oldName,
                            java.lang.String newName)
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. When type is COLUMN_MOVE or COLUMN_NAME, then column is the original index of the column, or where the column moved from. and newColumn is the new index of the column, or where the column moved to.

The type should be one of: INSERT, UPDATE, DELETE, COLUMN_MOVE, COLUMN_NAME.

Method Detail

getNewColumn

public int getNewColumn()
Returns the newColumn for the event. If the return value is ALL_COLUMNS; it means every column in the specified rows changed.


getOldColumnName

public java.lang.String getOldColumnName()
Returns the old name of the column for the event. Returns null if event is not COLUMN_NAME.


getNewColumnName

public java.lang.String getNewColumnName()
Returns the new name of the column for the event. Returns null if event is not COLUMN_NAME.




Copyright © 2009 SAS Institute Inc. All Rights Reserved.