javax.swing.table

Class TableColumn

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.
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 TableCellEditor
cellEditor
An editor for the regular cells in this column.
protected TableCellRenderer
cellRenderer
The renderer for the regular cells in this column.
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, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

CELL_RENDERER_PROPERTY

public static final String CELL_RENDERER_PROPERTY
The name for the cellRenderer property.
Field Value:
"cellRenderer"

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.
Field Value:
"columWidth"

HEADER_RENDERER_PROPERTY

public static final String HEADER_RENDERER_PROPERTY
The name for the headerRenderer property.
Field Value:
"headerRenderer"

HEADER_VALUE_PROPERTY

public static final String HEADER_VALUE_PROPERTY
The name for the headerValue property.
Field Value:
"headerValue"

cellEditor

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

cellRenderer

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

headerRenderer

protected TableCellRenderer headerRenderer
The renderer for the column header.

headerValue

protected Object headerValue
The value for the column header.

identifier

protected Object identifier
The identifier for the column.

isResizable

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

maxWidth

protected int maxWidth
The maximum width for the column.

minWidth

protected int minWidth
The minimum width for the column.

modelIndex

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

resizedPostingDisableCount

protected int resizedPostingDisableCount

Deprecated. 1.3

resizedPostingDisableCount

width

protected int width
The current width for the column.

Constructor Details

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 Details

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).

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.

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.

getCellEditor

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

getCellRenderer

public TableCellRenderer getCellRenderer()
Returns the renderer for the table cells in this column.
Returns:
The cell renderer (possibly null).

getHeaderRenderer

public TableCellRenderer getHeaderRenderer()
Returns the renderer for the column header.
Returns:
The renderer for the column header (possibly null).

getHeaderValue

public Object getHeaderValue()
Returns the header value.
Returns:
the value of the header.

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).

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.

getMinWidth

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

getModelIndex

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

getPreferredWidth

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

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

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.

getWidth

public int getWidth()
Returns the width for the column (the default value is 75).
Returns:
The width.
See Also:
setWidth(int)

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).

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).

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).

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).

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).

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).

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()

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()

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.

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.

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.

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()

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.

TableColumn.java -- Copyright (C) 2002, 2004, 2005, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.