javax.swing.table
public class DefaultTableColumnModel extends Object implements TableColumnModel, PropertyChangeListener, ListSelectionListener, Serializable
| Field Summary | |
|---|---|
| protected ChangeEvent | changeEvent
A change event used when notifying listeners of a change to the
columnMargin field. |
| protected int | columnMargin
The space between the columns (the default value is 1). |
| protected boolean | columnSelectionAllowed
A flag that indicates whether or not columns can be selected. |
| protected EventListenerList | listenerList
Storage for the listeners registered with the model. |
| protected ListSelectionModel | selectionModel
A selection model that keeps track of column selections. |
| protected Vector<TableColumn> | tableColumns
Storage for the table columns. |
| protected int | totalColumnWidth
The total width of all the columns in this model. |
| Constructor Summary | |
|---|---|
| DefaultTableColumnModel()
Creates a new table column model with zero columns. | |
| Method Summary | |
|---|---|
| void | addColumn(TableColumn column)
Adds a column to the model then calls
{@link #fireColumnAdded(TableColumnModelEvent)} to notify the registered
listeners. |
| void | addColumnModelListener(TableColumnModelListener listener)
Registers a listener with the model, so that it will receive
{@link TableColumnModelEvent} notifications.
|
| protected ListSelectionModel | createSelectionModel()
Creates a default selection model to track the currently selected
column(s). |
| protected void | fireColumnAdded(TableColumnModelEvent e)
Sends the specified {@link TableColumnModelEvent} to all registered
listeners, to indicate that a column has been added to the model. |
| protected void | fireColumnMarginChanged()
Sends a {@link ChangeEvent} to the model's registered listeners to
indicate that the column margin was changed.
|
| protected void | fireColumnMoved(TableColumnModelEvent e)
Sends the specified {@link TableColumnModelEvent} to all registered
listeners, to indicate that a column in the model has been moved. |
| protected void | fireColumnRemoved(TableColumnModelEvent e)
Sends the specified {@link TableColumnModelEvent} to all registered
listeners, to indicate that a column has been removed from the model. |
| protected void | fireColumnSelectionChanged(ListSelectionEvent e)
Sends the specified {@link ListSelectionEvent} to all registered listeners,
to indicate that the column selections have changed.
|
| TableColumn | getColumn(int columnIndex)
Returns the column at the specified index.
|
| int | getColumnCount()
Returns the number of columns in the model.
|
| int | getColumnIndex(Object identifier)
Returns the index of the {@link TableColumn} with the given identifier.
|
| int | getColumnIndexAtX(int x)
Returns the index of the column that contains the specified x-coordinate.
|
| int | getColumnMargin()
Returns the column margin.
|
| TableColumnModelListener[] | getColumnModelListeners()
Returns an array containing the listeners that are registered with the
model. |
| Enumeration<TableColumn> | getColumns()
Returns an enumeration of the columns in the model.
|
| boolean | getColumnSelectionAllowed()
Returns true if column selection is allowed, and
false if column selection is not allowed.
|
| <T extends EventListener> T[] | getListeners(Class<T> listenerType)
Returns an array containing the listeners (of the specified type) that
are registered with this model.
|
| int | getSelectedColumnCount()
Returns the number of selected columns in the model.
|
| int[] | getSelectedColumns()
Returns an array containing the indices of the selected columns.
|
| ListSelectionModel | getSelectionModel()
Returns the selection model used to track table column selections.
|
| int | getTotalColumnWidth()
Returns total width of all the columns in the model, ignoring the
{@link #columnMargin}.
|
| void | moveColumn(int i, int j)
Moves the column at index i to the position specified by index j, then
calls {@link #fireColumnMoved(TableColumnModelEvent)} to notify registered
listeners.
|
| void | propertyChange(PropertyChangeEvent event)
Receives notification of property changes for the columns in the model.
|
| protected void | recalcWidthCache()
Recalculates the total width of the columns, if the cached value is
-1. |
| void | removeColumn(TableColumn column)
Removes a column from the model then calls
{@link #fireColumnRemoved(TableColumnModelEvent)} to notify the registered
listeners. |
| void | removeColumnModelListener(TableColumnModelListener listener)
Deregisters a listener so that it no longer receives notification of
changes to this model.
|
| void | setColumnMargin(int margin)
Sets the column margin then calls {@link #fireColumnMarginChanged()} to
notify the registered listeners.
|
| void | setColumnSelectionAllowed(boolean flag)
Sets the flag that indicates whether or not column selection is allowed.
|
| void | setSelectionModel(ListSelectionModel model)
Sets the selection model that will be used to keep track of the selected
columns.
|
| void | valueChanged(ListSelectionEvent e)
Receives notification of the change to the list selection model, and
responds by calling
{@link #fireColumnSelectionChanged(ListSelectionEvent)}.
|
columnMargin field. This single event is reused for all
notifications (it is lazily instantiated within the
{@link #fireColumnMarginChanged()} method).1).columnMargin is 1 and
the default value for columnSelectionAllowed is
false.Parameters: column the column (null not permitted).
Throws: IllegalArgumentException if column is
null.
See Also: removeColumn
Parameters: listener the listener (null ignored).
Returns: A new default column selection model.
toIndex attribute should contain the index of the
added column.
Parameters: e the event.
See Also: addColumn
See Also: DefaultTableColumnModel
fromIndex attribute should contain the old column
index, and the toIndex attribute should contain the new
column index.
Parameters: e the event.
See Also: DefaultTableColumnModel
fromIndex attribute should contain the index of the
removed column.
Parameters: e the event.
See Also: removeColumn
Parameters: e the event.
See Also: valueChanged
Parameters: columnIndex the column index (in the range from 0 to
N-1, where N is the number of columns in
the model).
Returns: The column at the specified index.
Throws: ArrayIndexOutOfBoundsException if i is not within
the specified range.
Returns: The column count.
Parameters: identifier the identifier (null not permitted).
Returns: The index of the {@link TableColumn} with the given identifier.
Throws: IllegalArgumentException if identifier is
null or there is no column with that identifier.
-1.
Parameters: x the x-position.
Returns: The column index, or -1.
Returns: The column margin.
See Also: DefaultTableColumnModel
Returns: An array containing the listeners that are registered with the model.
Since: 1.4
See Also: addColumnModelListener
Returns: An enumeration of the columns in the model.
true if column selection is allowed, and
false if column selection is not allowed.
Returns: A boolean.
See Also: DefaultTableColumnModel
Parameters: listenerType the listener type (must indicate a subclass of
{@link EventListener}, null not permitted).
Returns: An array containing the listeners (of the specified type) that are registered with this model.
Returns: The selected column count.
See Also: getSelectionModel
Returns: An array containing the indices of the selected columns.
Returns: The selection model.
See Also: setSelectionModel
Returns: The total width of all the columns.
Parameters: i index of the column that will be moved. j index of the column's new location.
Throws: IllegalArgumentException if i or j are
outside the range 0 to N-1, where
N is the column count.
width property for any column changes, we invalidate
the {@link #totalColumnWidth} value here.
Parameters: event the event.
-1. Otherwise this method does nothing.
See Also: getTotalColumnWidth
null, this method does nothing.
Parameters: column the column to be removed (null permitted).
See Also: addColumn
Parameters: listener the listener to remove
Parameters: margin the column margin.
See Also: getColumnMargin
Parameters: flag the new flag value.
See Also: getColumnSelectionAllowed
Parameters: model the selection model (null not permitted).
Throws: IllegalArgumentException if model is
null.
See Also: getSelectionModel
Parameters: e the list selection event.
See Also: getSelectionModel