javax.swing.table

Class DefaultTableModel

public class DefaultTableModel extends AbstractTableModel implements Serializable

A two dimensional data structure used to store Object instances, usually for display in a JTable component.
Field Summary
protected VectorcolumnIdentifiers
Storage for the column identifiers.
protected VectordataVector
Storage for the rows in the table (each row is itself a Vector).
Constructor Summary
DefaultTableModel()
Creates an empty table with zero rows and zero columns.
DefaultTableModel(int numRows, int numColumns)
Creates a new table with the specified number of rows and columns.
DefaultTableModel(Vector columnNames, int numRows)
Creates a new table with the specified column names and number of rows.
DefaultTableModel(Object[] columnNames, int numRows)
Creates a new table with the specified column names and row count.
DefaultTableModel(Vector data, Vector columnNames)
Creates a new table with the specified data values and column names.
DefaultTableModel(Object[][] data, Object[] columnNames)
Creates a new table with the specified data values and column names.
Method Summary
voidaddColumn(Object columnName)
Adds a column with the specified name to the table.
voidaddColumn(Object columnName, Vector columnData)
Adds a column with the specified name and data values to the table.
voidaddColumn(Object columnName, Object[] columnData)
Adds a column with the specified name and data values to the table.
voidaddRow(Vector rowData)
Adds a new row containing the specified data to the table and sends a {@link TableModelEvent} to all registered listeners.
voidaddRow(Object[] rowData)
Adds a new row containing the specified data to the table and sends a {@link TableModelEvent} to all registered listeners.
protected static VectorconvertToVector(Object[] data)
Converts the data array to a Vector.
protected static VectorconvertToVector(Object[][] data)
Converts the data array to a Vector of rows.
intgetColumnCount()
Returns the number of columns in the model.
StringgetColumnName(int column)
Get the name of the column.
VectorgetDataVector()
Returns the vector containing the row data for the table.
intgetRowCount()
Returns the number of rows in the model.
ObjectgetValueAt(int row, int column)
Returns the value at the specified cell in the table.
voidinsertRow(int row, Vector rowData)
Inserts a new row into the table.
voidinsertRow(int row, Object[] rowData)
Inserts a new row into the table.
booleanisCellEditable(int row, int column)
Returns true if the specified cell can be modified, and false otherwise.
voidmoveRow(int startIndex, int endIndex, int toIndex)
Moves the rows from startIndex to endIndex (inclusive) to the specified row.
voidnewDataAvailable(TableModelEvent event)
Sends the specified event to all registered listeners.
voidnewRowsAdded(TableModelEvent event)
Sends the specified event to all registered listeners.
voidremoveRow(int row)
Removes a row from the table and sends a {@link TableModelEvent} to all registered listeners.
voidrowsRemoved(TableModelEvent event)
Sends the specified event to all registered listeners.
voidsetColumnCount(int columnCount)
Sets the number of columns in the table.
voidsetColumnIdentifiers(Vector columnIdentifiers)
Sets the column identifiers, updates the data rows (truncating or padding each row with null values) to match the number of columns, and sends a {@link TableModelEvent} to all registered listeners.
voidsetColumnIdentifiers(Object[] columnIdentifiers)
Sets the column identifiers, updates the data rows (truncating or padding each row with null values) to match the number of columns, and sends a {@link TableModelEvent} to all registered listeners.
voidsetDataVector(Vector data, Vector columnNames)
Sets the data and column identifiers for the table.
voidsetDataVector(Object[][] data, Object[] columnNames)
Sets the data and column identifiers for the table.
voidsetNumRows(int numRows)
This method is obsolete, use {@link #setRowCount(int)} instead.
voidsetRowCount(int rowCount)
Sets the number of rows in the table.
voidsetValueAt(Object value, int row, int column)
Sets the value for the specified cell in the table and sends a {@link TableModelEvent} to all registered listeners.

Field Detail

columnIdentifiers

protected Vector columnIdentifiers
Storage for the column identifiers.

dataVector

protected Vector dataVector
Storage for the rows in the table (each row is itself a Vector).

Constructor Detail

DefaultTableModel

public DefaultTableModel()
Creates an empty table with zero rows and zero columns.

DefaultTableModel

public DefaultTableModel(int numRows, int numColumns)
Creates a new table with the specified number of rows and columns. All cells in the table are initially empty (set to null).

Parameters: numRows the number of rows. numColumns the number of columns.

DefaultTableModel

public DefaultTableModel(Vector columnNames, int numRows)
Creates a new table with the specified column names and number of rows. The number of columns is determined by the number of column names supplied.

Parameters: columnNames the column names. numRows the number of rows.

DefaultTableModel

public DefaultTableModel(Object[] columnNames, int numRows)
Creates a new table with the specified column names and row count.

Parameters: columnNames the column names. numRows the number of rows.

DefaultTableModel

public DefaultTableModel(Vector data, Vector columnNames)
Creates a new table with the specified data values and column names.

Parameters: data the data values. columnNames the column names.

DefaultTableModel

public DefaultTableModel(Object[][] data, Object[] columnNames)
Creates a new table with the specified data values and column names.

Parameters: data the data values. columnNames the column names.

Method Detail

addColumn

public void addColumn(Object columnName)
Adds a column with the specified name to the table. All cell values for the column are initially set to null.

Parameters: columnName the column name (null permitted).

addColumn

public void addColumn(Object columnName, Vector columnData)
Adds a column with the specified name and data values to the table.

Parameters: columnName the column name (null permitted). columnData the column data.

addColumn

public void addColumn(Object columnName, Object[] columnData)
Adds a column with the specified name and data values to the table.

Parameters: columnName the column name (null permitted). columnData the column data.

addRow

public void addRow(Vector rowData)
Adds a new row containing the specified data to the table and sends a {@link TableModelEvent} to all registered listeners.

Parameters: rowData the row data (null permitted).

addRow

public void addRow(Object[] rowData)
Adds a new row containing the specified data to the table and sends a {@link TableModelEvent} to all registered listeners.

Parameters: rowData the row data (null permitted).

convertToVector

protected static Vector convertToVector(Object[] data)
Converts the data array to a Vector.

Parameters: data the data array (null permitted).

Returns: A vector (or null if the data array is null).

convertToVector

protected static Vector convertToVector(Object[][] data)
Converts the data array to a Vector of rows.

Parameters: data the data array (null permitted).

Returns: A vector (or null if the data array is null.

getColumnCount

public int getColumnCount()
Returns the number of columns in the model.

Returns: The column count.

getColumnName

public String getColumnName(int column)
Get the name of the column. If the column has the column identifier set, the return value is the result of the .toString() method call on that identifier. If the identifier is not explicitly set, the returned value is calculated by {@link AbstractTableModel#getColumnName(int)}.

Parameters: column the column index.

Returns: The column name.

getDataVector

public Vector getDataVector()
Returns the vector containing the row data for the table.

Returns: The data vector.

getRowCount

public int getRowCount()
Returns the number of rows in the model.

Returns: The row count.

getValueAt

public Object getValueAt(int row, int column)
Returns the value at the specified cell in the table.

Parameters: row the row index. column the column index.

Returns: The value (Object, possibly null) at the specified cell in the table.

insertRow

public void insertRow(int row, Vector rowData)
Inserts a new row into the table.

Parameters: row the row index. rowData the row data.

insertRow

public void insertRow(int row, Object[] rowData)
Inserts a new row into the table.

Parameters: row the row index. rowData the row data.

isCellEditable

public boolean isCellEditable(int row, int column)
Returns true if the specified cell can be modified, and false otherwise. For this implementation, the method always returns true.

Parameters: row the row index. column the column index.

Returns: true in all cases.

moveRow

public void moveRow(int startIndex, int endIndex, int toIndex)
Moves the rows from startIndex to endIndex (inclusive) to the specified row.

Parameters: startIndex the start row. endIndex the end row. toIndex the row to move to.

newDataAvailable

public void newDataAvailable(TableModelEvent event)
Sends the specified event to all registered listeners. This method is equivalent to {@link AbstractTableModel#fireTableChanged(TableModelEvent)}.

Parameters: event the event.

newRowsAdded

public void newRowsAdded(TableModelEvent event)
Sends the specified event to all registered listeners. This method is equivalent to {@link AbstractTableModel#fireTableChanged(TableModelEvent)}.

Parameters: event the event.

removeRow

public void removeRow(int row)
Removes a row from the table and sends a {@link TableModelEvent} to all registered listeners.

Parameters: row the row index.

rowsRemoved

public void rowsRemoved(TableModelEvent event)
Sends the specified event to all registered listeners. This method is equivalent to {@link AbstractTableModel#fireTableChanged(TableModelEvent)}.

Parameters: event the event.

setColumnCount

public void setColumnCount(int columnCount)
Sets the number of columns in the table. Existing rows are truncated or padded with null values to match the new column count. A {@link TableModelEvent} is sent to all registered listeners.

Parameters: columnCount the column count.

setColumnIdentifiers

public void setColumnIdentifiers(Vector columnIdentifiers)
Sets the column identifiers, updates the data rows (truncating or padding each row with null values) to match the number of columns, and sends a {@link TableModelEvent} to all registered listeners.

Parameters: columnIdentifiers the column identifiers.

setColumnIdentifiers

public void setColumnIdentifiers(Object[] columnIdentifiers)
Sets the column identifiers, updates the data rows (truncating or padding each row with null values) to match the number of columns, and sends a {@link TableModelEvent} to all registered listeners.

Parameters: columnIdentifiers the column identifiers.

setDataVector

public void setDataVector(Vector data, Vector columnNames)
Sets the data and column identifiers for the table. The data vector contains a Vector for each row in the table - if the number of objects in each row does not match the number of column names specified, the row data is truncated or expanded (by adding null values) as required.

Parameters: data the data for the table (a vector of row vectors). columnNames the column names.

Throws: NullPointerException if either argument is null.

setDataVector

public void setDataVector(Object[][] data, Object[] columnNames)
Sets the data and column identifiers for the table.

Parameters: data the data for the table. columnNames the column names.

Throws: NullPointerException if either argument is null.

setNumRows

public void setNumRows(int numRows)
This method is obsolete, use {@link #setRowCount(int)} instead.

Parameters: numRows the number of rows.

setRowCount

public void setRowCount(int rowCount)
Sets the number of rows in the table. If rowCount is less than the current number of rows in the table, rows are discarded. If rowCount is greater than the current number of rows in the table, new (empty) rows are added.

Parameters: rowCount the row count.

setValueAt

public void setValueAt(Object value, int row, int column)
Sets the value for the specified cell in the table and sends a {@link TableModelEvent} to all registered listeners.

Parameters: value the value (Object, null permitted). row the row index. column the column index.