javax.swing.table
Interface TableColumnModel

All Known Implementing Classes:
DefaultTableColumnModel

public interface TableColumnModel

Defines the requirements for a table column model object suitable for use with JTable.

Author:
Alan Chung, Philip Milne
See Also:
DefaultTableColumnModel

Method Summary
 void addColumn(TableColumn aColumn)
          Appends aColumn to the end of the tableColumns array.
 void addColumnModelListener(TableColumnModelListener x)
          Adds a listener for table column model events.
 TableColumn getColumn(int columnIndex)
          Returns the TableColumn object for the column at columnIndex.
 int getColumnCount()
          Returns the number of columns in the model.
 int getColumnIndex(Object columnIdentifier)
          Returns the index of the first column in the table whose identifier is equal to identifier, when compared using equals.
 int getColumnIndexAtX(int xPosition)
          Returns the index of the column that lies on the horizontal point, xPosition; or -1 if it lies outside the any of the column's bounds.
 int getColumnMargin()
          Returns the width between the cells in each column.
 Enumeration getColumns()
          Returns an Enumeration of all the columns in the model.
 boolean getColumnSelectionAllowed()
          Returns true if columns may be selected.
 int getSelectedColumnCount()
          Returns the number of selected columns.
 int[] getSelectedColumns()
          Returns an array of indicies of all selected columns.
 ListSelectionModel getSelectionModel()
          Returns the current selection model.
 int getTotalColumnWidth()
          Returns the total width of all the columns.
 void moveColumn(int columnIndex, int newIndex)
          Moves the column and its header at columnIndex to newIndex.
 void removeColumn(TableColumn column)
          Deletes the TableColumn column from the tableColumns array.
 void removeColumnModelListener(TableColumnModelListener x)
          Removes a listener for table column model events.
 void setColumnMargin(int newMargin)
          Sets the TableColumn's column margin to newMargin.
 void setColumnSelectionAllowed(boolean flag)
          Sets whether the columns in this model may be selected.
 void setSelectionModel(ListSelectionModel newModel)
          Sets the selection model.
 

Method Detail

addColumn

public void addColumn(TableColumn aColumn)
Appends aColumn to the end of the tableColumns array. This method posts a columnAdded event to its listeners.

Parameters:
aColumn - the TableColumn to be added
See Also:
removeColumn(javax.swing.table.TableColumn)

removeColumn

public void removeColumn(TableColumn column)
Deletes the TableColumn column from the tableColumns array. This method will do nothing if column is not in the table's column list. This method posts a columnRemoved event to its listeners.

Parameters:
column - the TableColumn to be removed
See Also:
addColumn(javax.swing.table.TableColumn)

moveColumn

public void moveColumn(int columnIndex,
                       int newIndex)
Moves the column and its header at columnIndex to newIndex. The old column at columnIndex will now be found at newIndex. The column that used to be at newIndex is shifted left or right to make room. This will not move any columns if columnIndex equals newIndex. This method posts a columnMoved event to its listeners.

Parameters:
columnIndex - the index of column to be moved
newIndex - index of the column's new location
Throws:
IllegalArgumentException - if columnIndex or newIndex are not in the valid range

setColumnMargin

public void setColumnMargin(int newMargin)
Sets the TableColumn's column margin to newMargin. This method posts a columnMarginChanged event to its listeners.

Parameters:
newMargin - the width, in pixels, of the new column margins
See Also:
getColumnMargin()

getColumnCount

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

Returns:
the number of columns in the model

getColumns

public Enumeration getColumns()
Returns an Enumeration of all the columns in the model.

Returns:
an Enumeration of all the columns in the model

getColumnIndex

public int getColumnIndex(Object columnIdentifier)
Returns the index of the first column in the table whose identifier is equal to identifier, when compared using equals.

Parameters:
columnIdentifier - the identifier object
Returns:
the index of the first table column whose identifier is equal to identifier
Throws:
IllegalArgumentException - if identifier is null, or no TableColumn has this identifier
See Also:
getColumn(int)

getColumn

public TableColumn getColumn(int columnIndex)
Returns the TableColumn object for the column at columnIndex.

Parameters:
columnIndex - the index of the desired column
Returns:
the TableColumn object for the column at columnIndex

getColumnMargin

public int getColumnMargin()
Returns the width between the cells in each column.

Returns:
the margin, in pixels, between the cells

getColumnIndexAtX

public int getColumnIndexAtX(int xPosition)
Returns the index of the column that lies on the horizontal point, xPosition; or -1 if it lies outside the any of the column's bounds. In keeping with Swing's separable model architecture, a TableColumnModel does not know how the table columns actually appear on screen. The visual presentation of the columns is the responsibility of the view/controller object using this model (typically JTable). The view/controller need not display the columns sequentially from left to right. For example, columns could be displayed from right to left to accomodate a locale preference or some columns might be hidden at the request of the user. Because the model does not know how the columns are laid out on screen, the given xPosition should not be considered to be a coordinate in 2D graphics space. Instead, it should be considered to be a width from the start of the first column in the model. If the column index for a given X coordinate in 2D space is required, JTable.columnAtPoint can be used instead.

Returns:
the index of the column; or -1 if no column is found
See Also:
JTable.columnAtPoint(java.awt.Point)

getTotalColumnWidth

public int getTotalColumnWidth()
Returns the total width of all the columns.

Returns:
the total computed width of all columns

setColumnSelectionAllowed

public void setColumnSelectionAllowed(boolean flag)
Sets whether the columns in this model may be selected.

Parameters:
flag - true if columns may be selected; otherwise false
See Also:
getColumnSelectionAllowed()

getColumnSelectionAllowed

public boolean getColumnSelectionAllowed()
Returns true if columns may be selected.

Returns:
true if columns may be selected
See Also:
setColumnSelectionAllowed(boolean)

getSelectedColumns

public int[] getSelectedColumns()
Returns an array of indicies of all selected columns.

Returns:
an array of integers containing the indicies of all selected columns; or an empty array if nothing is selected

getSelectedColumnCount

public int getSelectedColumnCount()
Returns the number of selected columns.

Returns:
the number of selected columns; or 0 if no columns are selected

setSelectionModel

public void setSelectionModel(ListSelectionModel newModel)
Sets the selection model.

Parameters:
newModel - a ListSelectionModel object
See Also:
getSelectionModel()

getSelectionModel

public ListSelectionModel getSelectionModel()
Returns the current selection model.

Returns:
a ListSelectionModel object
See Also:
setSelectionModel(javax.swing.ListSelectionModel)

addColumnModelListener

public void addColumnModelListener(TableColumnModelListener x)
Adds a listener for table column model events.

Parameters:
x - a TableColumnModelListener object

removeColumnModelListener

public void removeColumnModelListener(TableColumnModelListener x)
Removes a listener for table column model events.

Parameters:
x - a TableColumnModelListener object