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