|
JavaTM 2 Platform Standard Edition |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.swing.table.AbstractTableModel | +--javax.swing.table.DefaultTableModel
This is an implementation of TableModel that uses a Vector of Vectors to store the cell value objects.
Note:
The DefaultTableModel's API contains the methods addColumn(),
removeColumn(), but not methods to insert a column at an index
nor methods to move the columns. This is because JTable does
not display the columns based on the order of the columns in
this model. So rearranging them here doesn't do much. See
the column ordering methods in TableColumnModel.
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. A future release of Swing will provide support for long term persistence.
TableModel
,
getDataVector()
, Serialized FormField Summary | |
protected Vector |
columnIdentifiers
The Vector of column identifiers |
protected Vector |
dataVector
The Vector of Vector of Object values |
Fields inherited from class javax.swing.table.AbstractTableModel |
listenerList |
Constructor Summary | |
DefaultTableModel()
Constructs a default DefaultTableModel which is a table of zero columns and zero rows. |
|
DefaultTableModel(int numRows,
int numColumns)
Constructs a DefaultTableModel with numRows and numColumns of null object values. |
|
DefaultTableModel(Object[][] data,
Object[] columnNames)
Constructs a DefaultTableModel and initializes the table by passing data and columnNames to the setDataVector() method. |
|
DefaultTableModel(Object[] columnNames,
int numRows)
Constructs a DefaultTableModel with as many columns as there are elements in columnNames and numRows of null object values. |
|
DefaultTableModel(Vector columnNames,
int numRows)
Constructs a DefaultTableModel with as many columns as there are elements in columnNames and numRows of null object values. |
|
DefaultTableModel(Vector data,
Vector columnNames)
Constructs a DefaultTableModel and initializes the table by passing data and columnNames to the setDataVector() method. |
Method Summary | |
void |
addColumn(Object columnName)
Add a column to the model. |
void |
addColumn(Object columnName,
Object[] columnData)
Adds a column to the model with name columnName. |
void |
addColumn(Object columnName,
Vector columnData)
Add a column to the model. |
void |
addRow(Object[] rowData)
Add a row to the end of the model. |
void |
addRow(Vector rowData)
Add a row to the end of the model. |
protected static Vector |
convertToVector(Object[] anArray)
Returns a Vector that contains the same objects as the array |
protected static Vector |
convertToVector(Object[][] anArray)
Returns a Vector of Vectors that contains the same objects as the array |
int |
getColumnCount()
Returns the number of columns in this data table. |
String |
getColumnName(int column)
Returns the column name. |
Vector |
getDataVector()
This returns the Vector of Vectors that contains the table's data values. |
int |
getRowCount()
Returns the number of rows in this data table. |
Object |
getValueAt(int row,
int column)
Returns an attribute value for the cell at row and column. |
void |
insertRow(int row,
Object[] rowData)
Insert a row at row in the model. |
void |
insertRow(int row,
Vector rowData)
Insert a row at row in the model. |
boolean |
isCellEditable(int row,
int column)
Returns true if the cell at row and column is editable. |
void |
moveRow(int startIndex,
int endIndex,
int toIndex)
Moves one or more rows starting at startIndex to endIndex in the model to the toIndex. |
void |
newDataAvailable(TableModelEvent event)
Equivalent to fireTableChanged. |
void |
newRowsAdded(TableModelEvent event)
This method will make sure the new rows have the correct number of columns. |
void |
removeRow(int row)
Remove the row at row from the model. |
void |
rowsRemoved(TableModelEvent event)
Equivalent to fireTableChanged(). |
void |
setColumnIdentifiers(Object[] newIdentifiers)
Replaces the column identifiers in the model. |
void |
setColumnIdentifiers(Vector newIdentifiers)
Replaces the column identifiers in the model. |
void |
setDataVector(Object[][] newData,
Object[] columnNames)
This replaces the value in the dataVector instance variable with the values in the array newData. |
void |
setDataVector(Vector newData,
Vector columnNames)
This replaces the current dataVector instance variable with the new Vector of rows, newData. |
void |
setNumRows(int newSize)
Sets the number of rows in the model. |
void |
setValueAt(Object aValue,
int row,
int column)
Sets the object value for the cell at column and row. |
Methods inherited from class javax.swing.table.AbstractTableModel |
addTableModelListener,
findColumn,
fireTableCellUpdated,
fireTableChanged,
fireTableDataChanged,
fireTableRowsDeleted,
fireTableRowsInserted,
fireTableRowsUpdated,
fireTableStructureChanged,
getColumnClass,
removeTableModelListener |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
protected Vector dataVector
protected Vector columnIdentifiers
Constructor Detail |
public DefaultTableModel()
public DefaultTableModel(int numRows, int numColumns)
numRows
- The number of rows the table holdsnumColumns
- The number of columns the table holdssetValueAt(java.lang.Object, int, int)
public DefaultTableModel(Vector columnNames, int numRows)
columnNames
- Vector containing the names of the new columns.
If this null then the model has no columnsnumRows
- The number of rows the table holdssetDataVector(java.util.Vector, java.util.Vector)
,
setValueAt(java.lang.Object, int, int)
public DefaultTableModel(Object[] columnNames, int numRows)
columnNames
- Array containing the names of the new columns.
If this null then the model has no columnsnumRows
- The number of rows the table holdssetDataVector(java.util.Vector, java.util.Vector)
,
setValueAt(java.lang.Object, int, int)
public DefaultTableModel(Vector data, Vector columnNames)
data
- The data of the tablecolumnNames
- Vector containing the names of the new columns.getDataVector()
,
setDataVector(java.util.Vector, java.util.Vector)
public DefaultTableModel(Object[][] data, Object[] columnNames)
data
- The data of the tablecolumnNames
- The names of the columns.getDataVector()
,
setDataVector(java.util.Vector, java.util.Vector)
Method Detail |
public Vector getDataVector()
((Vector)getDataVector().elementAt(1)).elementAt(5);
You can directly alter the returned Vector. You can change the cell values, the number of rows. If you need to alter the number of columns in the model, you can do so with addColumn(), removeColumn(), or the setDataVector() methods. Once you have finished modifying the dataVector, you must inform the model of the new data using one of the notification methods. The notification methods will generate the appropriate TableModelListener messages to notify the JTable and any other listeners of this model.
newDataAvailable(javax.swing.event.TableModelEvent)
,
newRowsAdded(javax.swing.event.TableModelEvent)
,
setDataVector(java.util.Vector, java.util.Vector)
public void setDataVector(Vector newData, Vector columnNames)
newData
- The new data vectorcolumnNames
- The names of the columnsnewDataAvailable(javax.swing.event.TableModelEvent)
,
getDataVector()
public void setDataVector(Object[][] newData, Object[] columnNames)
setDataVector(Vector, Vector)
public void newDataAvailable(TableModelEvent event)
public void newRowsAdded(TableModelEvent event)
getDataVector()
public void rowsRemoved(TableModelEvent event)
public void setColumnIdentifiers(Vector newIdentifiers)
newIdentifiers
- Vector of column identifiers. A null means
setting the model to zero columnssetNumRows(int)
public void setColumnIdentifiers(Object[] newIdentifiers)
newIdentifiers
- Array of column identifiers. A null means
setting the model to zero columnssetNumRows(int)
public void setNumRows(int newSize)
newSize
- the new number of rowssetColumnIdentifiers(java.util.Vector)
public void addColumn(Object columnName)
columnName
- the identifier of the column being addedpublic void addColumn(Object columnName, Vector columnData)
columnName
- the identifier of the column being addedcolumnData
- optional data of the column being addedpublic void addColumn(Object columnName, Object[] columnData)
addColumn(Object, Vector)
public void addRow(Vector rowData)
rowData
- optional data of the row being addedpublic void addRow(Object[] rowData)
rowData
- optional data of the row being addedpublic void insertRow(int row, Vector rowData)
row
- the row index of the row to be insertedrowData
- optional data of the row being addedpublic void insertRow(int row, Object[] rowData)
row
- the row index of the row to be insertedrowData
- optional data of the row being addedpublic void moveRow(int startIndex, int endIndex, int toIndex)
Examples of moves:
1. moveRow(1,3,5);
a|B|C|D|e|f|g|h|i|j|k - before a|e|f|B|C|D|g|h|i|j|k - after 2. moveRow(6,7,1);
a|b|c|d|e|f|G|H|i|j|k - before a|G|H|b|c|d|e|f|i|j|k - after
startIndex
- the starting row index to be movedendIndex
- the ending row index to be movedtoIndex
- the destination of the rows to be movedpublic void removeRow(int row)
row
- the row index of the row to be removedpublic int getRowCount()
public int getColumnCount()
public String getColumnName(int column)
public boolean isCellEditable(int row, int column)
row
- the row whose value is to be looked upcolumn
- the column whose value is to be looked upsetValueAt(java.lang.Object, int, int)
public Object getValueAt(int row, int column)
row
- the row whose value is to be looked upcolumn
- the column whose value is to be looked uppublic void setValueAt(Object aValue, int row, int column)
aValue
- the new value. This can be null.row
- the row whose value is to be changedcolumn
- the column whose value is to be changedprotected static Vector convertToVector(Object[] anArray)
protected static Vector convertToVector(Object[][] anArray)
|
JavaTM 2 Platform Standard Edition |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |