public class

JTableHeader

extends JComponent
implements Accessible TableColumnModelListener
java.lang.Object
   ↳ java.awt.Component
     ↳ java.awt.Container
       ↳ javax.swing.JComponent
         ↳ javax.swing.table.JTableHeader

Class Overview

This is the object which manages the header of the JTable.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

See Also

Summary

Nested Classes
class JTableHeader.AccessibleJTableHeader This class implements accessibility support for the JTableHeader class. 
[Expand]
Inherited Constants
From class javax.swing.JComponent
From class java.awt.Component
From interface java.awt.image.ImageObserver
Fields
protected TableColumnModel columnModel The TableColumnModel of the table header.
protected TableColumn draggedColumn The index of the column being dragged.
protected int draggedDistance The distance from its original position the column has been dragged.
protected boolean reorderingAllowed If true, reordering of columns are allowed by the user; the default is true.
protected boolean resizingAllowed If true, resizing of columns are allowed by the user; the default is true.
protected TableColumn resizingColumn The index of the column being resized.
protected JTable table The table for which this object is the header; the default is null.
protected boolean updateTableInRealTime Obsolete as of Java 2 platform v1.3.
[Expand]
Inherited Fields
From class javax.swing.JComponent
Public Constructors
JTableHeader()
Constructs a JTableHeader with a default TableColumnModel.
JTableHeader(TableColumnModel cm)
Constructs a JTableHeader which is initialized with cm as the column model.
Public Methods
void columnAdded(TableColumnModelEvent e)
Invoked when a column is added to the table column model.
int columnAtPoint(Point point)
Returns the index of the column that point lies in, or -1 if it lies out of bounds.
void columnMarginChanged(ChangeEvent e)
Invoked when a column is moved due to a margin change.
void columnMoved(TableColumnModelEvent e)
Invoked when a column is repositioned.
void columnRemoved(TableColumnModelEvent e)
Invoked when a column is removed from the table column model.
void columnSelectionChanged(ListSelectionEvent e)
Invoked when the selection model of the TableColumnModel is changed.
AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this JTableHeader.
TableColumnModel getColumnModel()
Returns the TableColumnModel that contains all column information of this table header.
TableCellRenderer getDefaultRenderer()
Returns the default renderer used when no headerRenderer is defined by a TableColumn.
TableColumn getDraggedColumn()
Returns the the dragged column, if and only if, a drag is in process, otherwise returns null.
int getDraggedDistance()
Returns the column's horizontal distance from its original position, if and only if, a drag is in process.
Rectangle getHeaderRect(int column)
Returns the rectangle containing the header tile at column.
boolean getReorderingAllowed()
Returns true if the user is allowed to rearrange columns by dragging their headers, false otherwise.
boolean getResizingAllowed()
Returns true if the user is allowed to resize columns by dragging between their headers, false otherwise.
TableColumn getResizingColumn()
Returns the resizing column.
JTable getTable()
Returns the table associated with this header.
String getToolTipText(MouseEvent event)
Allows the renderer's tips to be used if there is text set.
TableHeaderUI getUI()
Returns the look and feel (L&F) object that renders this component.
String getUIClassID()
Returns the suffix used to construct the name of the look and feel (L&F) class used to render this component.
boolean getUpdateTableInRealTime()
Obsolete as of Java 2 platform v1.3.
void resizeAndRepaint()
Sizes the header and marks it as needing display.
void setColumnModel(TableColumnModel columnModel)
Sets the column model for this table to newModel and registers for listener notifications from the new column model.
void setDefaultRenderer(TableCellRenderer defaultRenderer)
Sets the default renderer to be used when no headerRenderer is defined by a TableColumn.
void setDraggedColumn(TableColumn aColumn)
Sets the header's draggedColumn to aColumn.
void setDraggedDistance(int distance)
Sets the header's draggedDistance to distance.
void setReorderingAllowed(boolean reorderingAllowed)
Sets whether the user can drag column headers to reorder columns.
void setResizingAllowed(boolean resizingAllowed)
Sets whether the user can resize columns by dragging between headers.
void setResizingColumn(TableColumn aColumn)
Sets the header's resizingColumn to aColumn.
void setTable(JTable table)
Sets the table associated with this header.
void setUI(TableHeaderUI ui)
Sets the look and feel (L&F) object that renders this component.
void setUpdateTableInRealTime(boolean flag)
Obsolete as of Java 2 platform v1.3.
void updateUI()
Notification from the UIManager that the look and feel (L&F) has changed.
Protected Methods
TableColumnModel createDefaultColumnModel()
Returns the default column model object which is a DefaultTableColumnModel.
TableCellRenderer createDefaultRenderer()
Returns a default renderer to be used when no header renderer is defined by a TableColumn.
void initializeLocalVars()
Initializes the local variables and properties with default values.
String paramString()
Returns a string representation of this JTableHeader.
[Expand]
Inherited Methods
From class javax.swing.JComponent
From class java.awt.Container
From class java.awt.Component
From class java.lang.Object
From interface java.awt.MenuContainer
From interface java.awt.image.ImageObserver
From interface javax.accessibility.Accessible
From interface javax.swing.event.TableColumnModelListener

Fields

protected TableColumnModel columnModel

The TableColumnModel of the table header.

protected TableColumn draggedColumn

The index of the column being dragged. null if not dragging.

protected int draggedDistance

The distance from its original position the column has been dragged.

protected boolean reorderingAllowed

If true, reordering of columns are allowed by the user; the default is true.

protected boolean resizingAllowed

If true, resizing of columns are allowed by the user; the default is true.

protected TableColumn resizingColumn

The index of the column being resized. null if not resizing.

protected JTable table

The table for which this object is the header; the default is null.

protected boolean updateTableInRealTime

Obsolete as of Java 2 platform v1.3. Real time repaints, in response to column dragging or resizing, are now unconditional.

Public Constructors

public JTableHeader ()

Constructs a JTableHeader with a default TableColumnModel.

public JTableHeader (TableColumnModel cm)

Constructs a JTableHeader which is initialized with cm as the column model. If cm is null this method will initialize the table header with a default TableColumnModel.

Parameters
cm the column model for the table

Public Methods

public void columnAdded (TableColumnModelEvent e)

Invoked when a column is added to the table column model.

Application code will not use these methods explicitly, they are used internally by JTable.

Parameters
e the event received

public int columnAtPoint (Point point)

Returns the index of the column that point lies in, or -1 if it lies out of bounds.

Returns
  • the index of the column that point lies in, or -1 if it lies out of bounds

public void columnMarginChanged (ChangeEvent e)

Invoked when a column is moved due to a margin change.

Application code will not use these methods explicitly, they are used internally by JTable.

Parameters
e the event received

public void columnMoved (TableColumnModelEvent e)

Invoked when a column is repositioned.

Application code will not use these methods explicitly, they are used internally by JTable.

Parameters
e the event received

public void columnRemoved (TableColumnModelEvent e)

Invoked when a column is removed from the table column model.

Application code will not use these methods explicitly, they are used internally by JTable.

Parameters
e the event received

public void columnSelectionChanged (ListSelectionEvent e)

Invoked when the selection model of the TableColumnModel is changed. This method currently has no effect (the header is not redrawn).

Application code will not use these methods explicitly, they are used internally by JTable.

Parameters
e the event received

public AccessibleContext getAccessibleContext ()

Gets the AccessibleContext associated with this JTableHeader. For JTableHeaders, the AccessibleContext takes the form of an AccessibleJTableHeader. A new AccessibleJTableHeader instance is created if necessary.

Returns
  • an AccessibleJTableHeader that serves as the AccessibleContext of this JTableHeader

public TableColumnModel getColumnModel ()

Returns the TableColumnModel that contains all column information of this table header.

Returns
  • the columnModel property

public TableCellRenderer getDefaultRenderer ()

Returns the default renderer used when no headerRenderer is defined by a TableColumn.

Returns
  • the default renderer

public TableColumn getDraggedColumn ()

Returns the the dragged column, if and only if, a drag is in process, otherwise returns null.

Returns
  • the dragged column, if a drag is in process, otherwise returns null

public int getDraggedDistance ()

Returns the column's horizontal distance from its original position, if and only if, a drag is in process. Otherwise, the the return value is meaningless.

Returns
  • the column's horizontal distance from its original position, if a drag is in process, otherwise the return value is meaningless

public Rectangle getHeaderRect (int column)

Returns the rectangle containing the header tile at column. When the column parameter is out of bounds this method uses the same conventions as the JTable method getCellRect.

Returns
  • the rectangle containing the header tile at column

public boolean getReorderingAllowed ()

Returns true if the user is allowed to rearrange columns by dragging their headers, false otherwise. The default is true. You can rearrange columns programmatically regardless of this setting.

Returns
  • the reorderingAllowed property

public boolean getResizingAllowed ()

Returns true if the user is allowed to resize columns by dragging between their headers, false otherwise. The default is true. You can resize columns programmatically regardless of this setting.

Returns
  • the resizingAllowed property

public TableColumn getResizingColumn ()

Returns the resizing column. If no column is being resized this method returns null.

Returns
  • the resizing column, if a resize is in process, otherwise returns null

public JTable getTable ()

Returns the table associated with this header.

Returns
  • the table property

public String getToolTipText (MouseEvent event)

Allows the renderer's tips to be used if there is text set.

Parameters
event the location of the event identifies the proper renderer and, therefore, the proper tip
Returns
  • the tool tip for this component

public TableHeaderUI getUI ()

Returns the look and feel (L&F) object that renders this component.

Returns
  • the TableHeaderUI object that renders this component

public String getUIClassID ()

Returns the suffix used to construct the name of the look and feel (L&F) class used to render this component.

Returns
  • the string "TableHeaderUI""TableHeaderUI"

public boolean getUpdateTableInRealTime ()

Obsolete as of Java 2 platform v1.3. Real time repaints, in response to column dragging or resizing, are now unconditional.

public void resizeAndRepaint ()

Sizes the header and marks it as needing display. Equivalent to revalidate followed by repaint.

public void setColumnModel (TableColumnModel columnModel)

Sets the column model for this table to newModel and registers for listener notifications from the new column model.

Parameters
columnModel the new data source for this table
Throws
IllegalArgumentException if newModel is null
See Also

public void setDefaultRenderer (TableCellRenderer defaultRenderer)

Sets the default renderer to be used when no headerRenderer is defined by a TableColumn.

Parameters
defaultRenderer the default renderer

public void setDraggedColumn (TableColumn aColumn)

Sets the header's draggedColumn to aColumn.

Application code will not use this method explicitly, it is used internally by the column dragging mechanism.

Parameters
aColumn the column being dragged, or null if no column is being dragged

public void setDraggedDistance (int distance)

Sets the header's draggedDistance to distance.

Parameters
distance the distance dragged

public void setReorderingAllowed (boolean reorderingAllowed)

Sets whether the user can drag column headers to reorder columns.

Parameters
reorderingAllowed true if the table view should allow reordering; otherwise false

public void setResizingAllowed (boolean resizingAllowed)

Sets whether the user can resize columns by dragging between headers.

Parameters
resizingAllowed true if table view should allow resizing

public void setResizingColumn (TableColumn aColumn)

Sets the header's resizingColumn to aColumn.

Application code will not use this method explicitly, it is used internally by the column sizing mechanism.

Parameters
aColumn the column being resized, or null if no column is being resized

public void setTable (JTable table)

Sets the table associated with this header.

Parameters
table the new table

public void setUI (TableHeaderUI ui)

Sets the look and feel (L&F) object that renders this component.

Parameters
ui the TableHeaderUI L&F object

public void setUpdateTableInRealTime (boolean flag)

Obsolete as of Java 2 platform v1.3. Real time repaints, in response to column dragging or resizing, are now unconditional.

public void updateUI ()

Notification from the UIManager that the look and feel (L&F) has changed. Replaces the current UI object with the latest version from the UIManager.

See Also

Protected Methods

protected TableColumnModel createDefaultColumnModel ()

Returns the default column model object which is a DefaultTableColumnModel. A subclass can override this method to return a different column model object

Returns
  • the default column model object

protected TableCellRenderer createDefaultRenderer ()

Returns a default renderer to be used when no header renderer is defined by a TableColumn.

Returns
  • the default table column renderer

protected void initializeLocalVars ()

Initializes the local variables and properties with default values. Used by the constructor methods.

protected String paramString ()

Returns a string representation of this JTableHeader. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be null.

Overriding paramString to provide information about the specific new aspects of the JFC components.

Returns
  • a string representation of this JTableHeader