ImageObserver, MenuContainer, Serializable, EventListener, Accessible, TableColumnModelListener
public class JTableHeader extends JComponent implements TableColumnModelListener, Accessible
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 JavaBeans has been added to the java.beans package. Please see XMLEncoder.
| Modifier and Type | Class | Description | 
|---|---|---|
| protected class  | JTableHeader.AccessibleJTableHeader | This class implements accessibility support for the  JTableHeaderclass. | 
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
| Modifier and Type | Field | Description | 
|---|---|---|
| protected TableColumnModel | columnModel | The  TableColumnModelof 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. | 
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
| Constructor | Description | 
|---|---|
| JTableHeader() | Constructs a  JTableHeaderwith a defaultTableColumnModel. | 
| JTableHeader | Constructs a  JTableHeaderwhich is initialized withcmas the column model. | 
| Modifier and Type | Method | Description | 
|---|---|---|
| void | columnAdded | Invoked when a column is added to the table column model. | 
| int | columnAtPoint | Returns the index of the column that  pointlies in, or -1 if it lies out of bounds. | 
| void | columnMarginChanged | Invoked when a column is moved due to a margin change. | 
| void | columnMoved | Invoked when a column is repositioned. | 
| void | columnRemoved | Invoked when a column is removed from the table column model. | 
| void | columnSelectionChanged | Invoked when the selection model of the  TableColumnModelis changed. | 
| protected TableColumnModel | createDefaultColumnModel() | Returns the default column model object which is a  DefaultTableColumnModel. | 
| protected TableCellRenderer | createDefaultRenderer() | Returns a default renderer to be used when no header renderer is defined by a  TableColumn. | 
| AccessibleContext | getAccessibleContext() | Gets the AccessibleContext associated with this JTableHeader. | 
| TableColumnModel | getColumnModel() | Returns the  TableColumnModelthat contains all column information of this table header. | 
| TableCellRenderer | getDefaultRenderer() | Returns the default renderer used when no  headerRendereris defined by aTableColumn. | 
| TableColumn | getDraggedColumn() | Returns 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 | Returns the rectangle containing the header tile at  column. | 
| Dimension | getPreferredSize() | Returns the preferred size of the table header. | 
| 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 | 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. | 
| protected void | initializeLocalVars() | Initializes the local variables and properties with default values. | 
| protected String | paramString() | Returns a string representation of this  JTableHeader. | 
| void | resizeAndRepaint() | Sizes the header and marks it as needing display. | 
| void | setColumnModel | Sets the column model for this table to  newModeland registers for listener notifications from the new column model. | 
| void | setDefaultRenderer | Sets the default renderer to be used when no  headerRendereris defined by aTableColumn. | 
| void | setDraggedColumn | Sets the header's  draggedColumntoaColumn. | 
| void | setDraggedDistance | Sets the header's  draggedDistancetodistance. | 
| void | setReorderingAllowed | Sets whether the user can drag column headers to reorder columns. | 
| void | setResizingAllowed | Sets whether the user can resize columns by dragging between headers. | 
| void | setResizingColumn | Sets the header's  resizingColumntoaColumn. | 
| void | setTable | Sets the table associated with this header. | 
| void | setUI | Sets the look and feel (L&F) object that renders this component. | 
| void | setUpdateTableInRealTime | Obsolete as of Java 2 platform v1.3. | 
| void | updateUI() | Notification from the  UIManagerthat the look and feel (L&F) has changed. | 
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected JTable table
null.protected TableColumnModel columnModel
TableColumnModel of the table header.protected boolean reorderingAllowed
protected boolean resizingAllowed
protected boolean updateTableInRealTime
protected transient TableColumn resizingColumn
null if not resizing.protected transient TableColumn draggedColumn
null if not dragging.protected transient int draggedDistance
public JTableHeader()
JTableHeader with a default TableColumnModel.public JTableHeader(TableColumnModel cm)
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.cm - the column model for the table@BeanProperty(description="The table associated with this header.") public void setTable(JTable table)
table - the new tablepublic JTable getTable()
table property@BeanProperty(description="Whether the user can drag column headers to reorder columns.") public void setReorderingAllowed(boolean reorderingAllowed)
reorderingAllowed - true if the table view should allow reordering; otherwise falsepublic boolean getReorderingAllowed()
reorderingAllowed property@BeanProperty(description="Whether the user can resize columns by dragging between headers.") public void setResizingAllowed(boolean resizingAllowed)
resizingAllowed - true if table view should allow resizingpublic boolean getResizingAllowed()
resizingAllowed propertypublic TableColumn getDraggedColumn()
null.null
public int getDraggedDistance()
public TableColumn getResizingColumn()
null.null
public void setUpdateTableInRealTime(boolean flag)
flag - true if tableView should update the body of the table in real timepublic boolean getUpdateTableInRealTime()
public void setDefaultRenderer(TableCellRenderer defaultRenderer)
headerRenderer is defined by a TableColumn.defaultRenderer - the default rendererpublic TableCellRenderer getDefaultRenderer()
headerRenderer is defined by a TableColumn.public int columnAtPoint(Point point)
point lies in, or -1 if it lies out of bounds.point - if this point lies within a column, the index of that column will be returned; otherwise it is out of bounds and -1 is returnedpoint lies in, or -1 if it lies out of boundspublic Rectangle getHeaderRect(int column)
column. When the column parameter is out of bounds this method uses the same conventions as the JTable method getCellRect.column - index of the columncolumn
public String getToolTipText(MouseEvent event)
getToolTipText in class JComponent
event - the location of the event identifies the proper renderer and, therefore, the proper tippublic Dimension getPreferredSize()
Dimension width will always be calculated by the underlying TableHeaderUI, regardless of any width specified by JComponent.setPreferredSize(java.awt.Dimension)
getPreferredSize in class JComponent
public TableHeaderUI getUI()
getUI in class JComponent
TableHeaderUI object that renders this componentpublic void setUI(TableHeaderUI ui)
ui - the TableHeaderUI L&F objectpublic void updateUI()
UIManager that the look and feel (L&F) has changed. Replaces the current UI object with the latest version from the UIManager.updateUI in class JComponent
public String getUIClassID()
getUIClassID in class JComponent
@BeanProperty(description="The object governing the way columns appear in the view.") public void setColumnModel(TableColumnModel columnModel)
newModel and registers for listener notifications from the new column model.columnModel - the new data source for this tableIllegalArgumentException - if newModel is null
public TableColumnModel getColumnModel()
TableColumnModel that contains all column information of this table header.columnModel propertypublic void columnAdded(TableColumnModelEvent e)
 Application code will not use these methods explicitly, they are used internally by JTable.
columnAdded in interface TableColumnModelListener
e - the event receivedpublic void columnRemoved(TableColumnModelEvent e)
 Application code will not use these methods explicitly, they are used internally by JTable.
columnRemoved in interface TableColumnModelListener
e - the event receivedpublic void columnMoved(TableColumnModelEvent e)
 Application code will not use these methods explicitly, they are used internally by JTable.
columnMoved in interface TableColumnModelListener
e - the event receivedpublic void columnMarginChanged(ChangeEvent e)
 Application code will not use these methods explicitly, they are used internally by JTable.
columnMarginChanged in interface TableColumnModelListener
e - the event receivedpublic void columnSelectionChanged(ListSelectionEvent e)
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.
columnSelectionChanged in interface TableColumnModelListener
e - the event receivedprotected TableColumnModel createDefaultColumnModel()
DefaultTableColumnModel. A subclass can override this method to return a different column model objectprotected TableCellRenderer createDefaultRenderer()
TableColumn.protected void initializeLocalVars()
public void resizeAndRepaint()
revalidate followed by repaint.public void setDraggedColumn(TableColumn aColumn)
draggedColumn to aColumn. Application code will not use this method explicitly, it is used internally by the column dragging mechanism.
aColumn - the column being dragged, or null if no column is being draggedpublic void setDraggedDistance(int distance)
draggedDistance to distance.distance - the distance draggedpublic void setResizingColumn(TableColumn aColumn)
resizingColumn to aColumn. Application code will not use this method explicitly, it is used internally by the column sizing mechanism.
aColumn - the column being resized, or null if no column is being resizedprotected String paramString()
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.
paramString in class JComponent
JTableHeader
public AccessibleContext getAccessibleContext()
getAccessibleContext in interface Accessible
getAccessibleContext in class Component
    © 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
    https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/table/JTableHeader.html