javax.swing.table
Class TableColumn

java.lang.Object
  extended by javax.swing.table.TableColumn
All Implemented Interfaces:
Serializable

public class TableColumn
extends Object
implements Serializable

Represents the attributes of a column in a table, including the column index, width, minimum width, preferred width and maximum width.

See Also:
Serialized Form

Field Summary
static String CELL_RENDERER_PROPERTY
          The name for the cellRenderer property.
protected  TableCellEditor cellEditor
          An editor for the regular cells in this column.
protected  TableCellRenderer cellRenderer
          The renderer for the regular cells in this column.
static String COLUMN_WIDTH_PROPERTY
          The name for the columnWidth property (this field is obsolete and no longer used).
static String HEADER_RENDERER_PROPERTY
          The name for the headerRenderer property.
static String HEADER_VALUE_PROPERTY
          The name for the headerValue property.
protected  TableCellRenderer headerRenderer
          The renderer for the column header.
protected  Object headerValue
          The value for the column header.
protected  Object identifier
          The identifier for the column.
protected  boolean isResizable
          A flag that determines whether or not the column is resizable (the default is true).
protected  int maxWidth
          The maximum width for the column.
protected  int minWidth
          The minimum width for the column.
protected  int modelIndex
          The index of the corresponding column in the table model.
protected  int resizedPostingDisableCount
          Deprecated. 1.3
protected  int width
          The current width for the column.
 
Constructor Summary
TableColumn()
          Creates a new TableColumn that maps to column 0 in the related table model.
TableColumn(int modelIndex)
          Creates a new TableColumn that maps to the specified column in the related table model.
TableColumn(int modelIndex, int width)
          Creates a new TableColumn that maps to the specified column in the related table model, and has the specified width.
TableColumn(int modelIndex, int width, TableCellRenderer cellRenderer, TableCellEditor cellEditor)
          Creates a new TableColumn that maps to the specified column in the related table model, and has the specified width, cellRenderer and cellEditor.
 
Method Summary
 void addPropertyChangeListener(PropertyChangeListener listener)
          Adds a listener so that it receives PropertyChangeEvent notifications from this column.
protected  TableCellRenderer createDefaultHeaderRenderer()
          Creates and returns a default renderer for the column header (in this case, a new instance of DefaultTableCellRenderer).
 void disableResizedPosting()
          Deprecated. 1.3
 void enableResizedPosting()
          Deprecated. 1.3
 TableCellEditor getCellEditor()
          Returns the cell editor for the column (the default value is null).
 TableCellRenderer getCellRenderer()
          Returns the renderer for the table cells in this column.
 TableCellRenderer getHeaderRenderer()
          Returns the renderer for the column header.
 Object getHeaderValue()
          Returns the header value.
 Object getIdentifier()
          Returns the identifier for the column, or getHeaderValue() if the identifier is null.
 int getMaxWidth()
          Returns the maximum width for the column (the default value is Integer.MAX_VALUE).
 int getMinWidth()
          Returns the TableColumn's minimum width (the default value is 15).
 int getModelIndex()
          Returns the index of the column in the related TableModel that this TableColumn maps to.
 int getPreferredWidth()
          Returns the preferred width for the column (the default value is 75).
 PropertyChangeListener[] getPropertyChangeListeners()
          Returns the property change listeners for this TableColumn.
 boolean getResizable()
          Returns the flag that controls whether or not the column is resizable.
 int getWidth()
          Returns the width for the column (the default value is 75).
 void removePropertyChangeListener(PropertyChangeListener listener)
          Removes a listener so that it no longer receives PropertyChangeEvent notifications from this column.
 void setCellEditor(TableCellEditor cellEditor)
          Sets the cell editor for the column and sends a PropertyChangeEvent (with the property name 'cellEditor') to all registered listeners.
 void setCellRenderer(TableCellRenderer renderer)
          Sets the renderer for cells in this column and sends a PropertyChangeEvent (with the property name CELL_RENDERER_PROPERTY) to all registered listeners.
 void setHeaderRenderer(TableCellRenderer renderer)
          Sets the renderer for the column header and sends a PropertyChangeEvent (with the property name HEADER_RENDERER_PROPERTY) to all registered listeners.
 void setHeaderValue(Object headerValue)
          Sets the header value and sends a PropertyChangeEvent (with the property name HEADER_VALUE_PROPERTY) to all registered listeners.
 void setIdentifier(Object identifier)
          Sets the identifier for the column and sends a PropertyChangeEvent (with the property name 'identifier') to all registered listeners.
 void setMaxWidth(int maxWidth)
          Sets the maximum width for the column and sends a PropertyChangeEvent (with the property name 'maxWidth') to all registered listeners.
 void setMinWidth(int minWidth)
          Sets the minimum width for the column and sends a PropertyChangeEvent (with the property name 'minWidth') to all registered listeners.
 void setModelIndex(int modelIndex)
          Sets the index of the column in the related TableModel that this TableColumn maps to, and sends a PropertyChangeEvent (with the property name 'modelIndex') to all registered listeners.
 void setPreferredWidth(int preferredWidth)
          Sets the preferred width for the column and sends a PropertyChangeEvent (with the property name 'preferredWidth') to all registered listeners.
 void setResizable(boolean isResizable)
          Sets the flag that controls whether or not the column is resizable, and sends a PropertyChangeEvent (with the property name 'isResizable') to all registered listeners.
 void setWidth(int newWidth)
          Sets the width for the column and sends a PropertyChangeEvent (with the property name 'width') to all registered listeners.
 void sizeWidthToFit()
          Sets the minimum, maximum, preferred and current width to match the minimum, maximum and preferred width of the header renderer component.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COLUMN_WIDTH_PROPERTY

public static final String COLUMN_WIDTH_PROPERTY
The name for the columnWidth property (this field is obsolete and no longer used). Note also that the typo in the value string is deliberate, to match the specification.

See Also:
Constant Field Values

HEADER_VALUE_PROPERTY

public static final String HEADER_VALUE_PROPERTY
The name for the headerValue property.

See Also:
Constant Field Values

HEADER_RENDERER_PROPERTY

public static final String HEADER_RENDERER_PROPERTY
The name for the headerRenderer property.

See Also:
Constant Field Values

CELL_RENDERER_PROPERTY

public static final String CELL_RENDERER_PROPERTY
The name for the cellRenderer property.

See Also:
Constant Field Values

modelIndex

protected int modelIndex
The index of the corresponding column in the table model.


identifier

protected Object identifier
The identifier for the column.


width

protected int width
The current width for the column.


minWidth

protected int minWidth
The minimum width for the column.


maxWidth

protected int maxWidth
The maximum width for the column.


headerRenderer

protected TableCellRenderer headerRenderer
The renderer for the column header.


headerValue

protected Object headerValue
The value for the column header.


cellRenderer

protected TableCellRenderer cellRenderer
The renderer for the regular cells in this column.


cellEditor

protected TableCellEditor cellEditor
An editor for the regular cells in this column.


isResizable

protected boolean isResizable
A flag that determines whether or not the column is resizable (the default is true).


resizedPostingDisableCount

protected transient int resizedPostingDisableCount
Deprecated. 1.3
resizedPostingDisableCount

Constructor Detail

TableColumn

public TableColumn()
Creates a new TableColumn that maps to column 0 in the related table model. The default width is 75 units.


TableColumn

public TableColumn(int modelIndex)
Creates a new TableColumn that maps to the specified column in the related table model. The default width is 75 units.

Parameters:
modelIndex - the index of the column in the model

TableColumn

public TableColumn(int modelIndex,
                   int width)
Creates a new TableColumn that maps to the specified column in the related table model, and has the specified width.

Parameters:
modelIndex - the index of the column in the model
width - the width

TableColumn

public TableColumn(int modelIndex,
                   int width,
                   TableCellRenderer cellRenderer,
                   TableCellEditor cellEditor)
Creates a new TableColumn that maps to the specified column in the related table model, and has the specified width, cellRenderer and cellEditor.

Parameters:
modelIndex - the index of the column in the model
width - the width
cellRenderer - the cell renderer (null permitted).
cellEditor - the cell editor (null permitted).
Method Detail

setModelIndex

public void setModelIndex(int modelIndex)
Sets the index of the column in the related TableModel that this TableColumn maps to, and sends a PropertyChangeEvent (with the property name 'modelIndex') to all registered listeners.

Parameters:
modelIndex - the column index in the model.
See Also:
getModelIndex()

getModelIndex

public int getModelIndex()
Returns the index of the column in the related TableModel that this TableColumn maps to.

Returns:
the model index.
See Also:
setModelIndex(int)

setIdentifier

public void setIdentifier(Object identifier)
Sets the identifier for the column and sends a PropertyChangeEvent (with the property name 'identifier') to all registered listeners.

Parameters:
identifier - the identifier (null permitted).
See Also:
getIdentifier()

getIdentifier

public Object getIdentifier()
Returns the identifier for the column, or getHeaderValue() if the identifier is null.

Returns:
The identifier (or getHeaderValue() if the identifier is null).

setHeaderValue

public void setHeaderValue(Object headerValue)
Sets the header value and sends a PropertyChangeEvent (with the property name HEADER_VALUE_PROPERTY) to all registered listeners.

Parameters:
headerValue - the value of the header (null permitted).
See Also:
getHeaderValue()

getHeaderValue

public Object getHeaderValue()
Returns the header value.

Returns:
the value of the header.
See Also:
getHeaderValue()

setHeaderRenderer

public void setHeaderRenderer(TableCellRenderer renderer)
Sets the renderer for the column header and sends a PropertyChangeEvent (with the property name HEADER_RENDERER_PROPERTY) to all registered listeners.

Parameters:
renderer - the header renderer (null permitted).
See Also:
getHeaderRenderer()

getHeaderRenderer

public TableCellRenderer getHeaderRenderer()
Returns the renderer for the column header.

Returns:
The renderer for the column header (possibly null).
See Also:
setHeaderRenderer(TableCellRenderer)

setCellRenderer

public void setCellRenderer(TableCellRenderer renderer)
Sets the renderer for cells in this column and sends a PropertyChangeEvent (with the property name CELL_RENDERER_PROPERTY) to all registered listeners.

Parameters:
renderer - the cell renderer (null permitted).
See Also:
getCellRenderer()

getCellRenderer

public TableCellRenderer getCellRenderer()
Returns the renderer for the table cells in this column.

Returns:
The cell renderer (possibly null).
See Also:
setCellRenderer(TableCellRenderer)

setCellEditor

public void setCellEditor(TableCellEditor cellEditor)
Sets the cell editor for the column and sends a PropertyChangeEvent (with the property name 'cellEditor') to all registered listeners.

Parameters:
cellEditor - the cell editor (null permitted).
See Also:
getCellEditor()

getCellEditor

public TableCellEditor getCellEditor()
Returns the cell editor for the column (the default value is null).

Returns:
The cell editor (possibly null).
See Also:
setCellEditor(TableCellEditor)

setWidth

public void setWidth(int newWidth)
Sets the width for the column and sends a PropertyChangeEvent (with the property name 'width') to all registered listeners. If the new width falls outside the range getMinWidth() to getMaxWidth() it is adjusted to the appropriate boundary value.

Parameters:
newWidth - the width.
See Also:
getWidth()

getWidth

public int getWidth()
Returns the width for the column (the default value is 75).

Returns:
The width.
See Also:
setWidth(int)

setPreferredWidth

public void setPreferredWidth(int preferredWidth)
Sets the preferred width for the column and sends a PropertyChangeEvent (with the property name 'preferredWidth') to all registered listeners. If necessary, the supplied value will be adjusted to fit in the range getMinWidth() to getMaxWidth().

Parameters:
preferredWidth - the preferred width.
See Also:
getPreferredWidth()

getPreferredWidth

public int getPreferredWidth()
Returns the preferred width for the column (the default value is 75).

Returns:
The preferred width.
See Also:
setPreferredWidth(int)

setMinWidth

public void setMinWidth(int minWidth)
Sets the minimum width for the column and sends a PropertyChangeEvent (with the property name 'minWidth') to all registered listeners. If the current width and/or preferredWidth are less than the new minimum width, they are adjusted accordingly.

Parameters:
minWidth - the minimum width (negative values are treated as 0).
See Also:
getMinWidth()

getMinWidth

public int getMinWidth()
Returns the TableColumn's minimum width (the default value is 15).

Returns:
The minimum width.
See Also:
setMinWidth(int)

setMaxWidth

public void setMaxWidth(int maxWidth)
Sets the maximum width for the column and sends a PropertyChangeEvent (with the property name 'maxWidth') to all registered listeners. If the current width and/or preferredWidth are greater than the new maximum width, they are adjusted accordingly.

Parameters:
maxWidth - the maximum width.
See Also:
getMaxWidth()

getMaxWidth

public int getMaxWidth()
Returns the maximum width for the column (the default value is Integer.MAX_VALUE).

Returns:
The maximum width for the column.
See Also:
setMaxWidth(int)

setResizable

public void setResizable(boolean isResizable)
Sets the flag that controls whether or not the column is resizable, and sends a PropertyChangeEvent (with the property name 'isResizable') to all registered listeners.

Parameters:
isResizable - true if this column is resizable, false otherwise.
See Also:
getResizable()

getResizable

public boolean getResizable()
Returns the flag that controls whether or not the column is resizable.

Returns:
true if this column is resizable, false otherwise.
See Also:
setResizable(boolean)

sizeWidthToFit

public void sizeWidthToFit()
Sets the minimum, maximum, preferred and current width to match the minimum, maximum and preferred width of the header renderer component. If there is no header renderer component, this method does nothing.


disableResizedPosting

public void disableResizedPosting()
Deprecated. 1.3

This method is empty, unused and deprecated.


enableResizedPosting

public void enableResizedPosting()
Deprecated. 1.3

This method is empty, unused and deprecated.


addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
Adds a listener so that it receives PropertyChangeEvent notifications from this column. The properties defined by the column are:

Parameters:
listener - the listener to add (null is ignored).
See Also:
removePropertyChangeListener(PropertyChangeListener)

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
Removes a listener so that it no longer receives PropertyChangeEvent notifications from this column. If listener is not registered with the column, or is null, this method does nothing.

Parameters:
listener - the listener to remove (null is ignored).

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()
Returns the property change listeners for this TableColumn. An empty array is returned if there are currently no listeners registered.

Returns:
The property change listeners registered with this column.
Since:
1.4

createDefaultHeaderRenderer

protected TableCellRenderer createDefaultHeaderRenderer()
Creates and returns a default renderer for the column header (in this case, a new instance of DefaultTableCellRenderer).

Returns:
A default renderer for the column header.