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 JavaBeansTM
 has been added to the java.beans package.
 Please see XMLEncoder.
JTable | Modifier and Type | Class and 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 and 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. | 
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH | Constructor and Description | 
|---|
| JTableHeader ()Constructs a  JTableHeaderwith a defaultTableColumnModel. | 
| JTableHeader (TableColumnModel cm)Constructs a  JTableHeaderwhich is initialized withcmas the column model. | 
| Modifier and Type | Method and Description | 
|---|---|
| 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  pointlies 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  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 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. | 
| 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 (TableColumnModel columnModel)Sets the column model for this table to  newModeland registers
 for listener notifications from the new column model. | 
| void | setDefaultRenderer (TableCellRenderer defaultRenderer)Sets the default renderer to be used when no  headerRendereris defined by aTableColumn. | 
| void | setDraggedColumn (TableColumn aColumn)Sets the header's  draggedColumntoaColumn. | 
| void | setDraggedDistance (int distance)Sets the header's  draggedDistancetodistance. | 
| 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  resizingColumntoaColumn. | 
| 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  UIManagerthat the look and feel
 (L&F) has changed. | 
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, 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, getPreferredSize, 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, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, 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.createDefaultColumnModel() 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 tablecreateDefaultColumnModel() public void setTable(JTable table)
table - the new tablepublic JTable getTable()
table propertypublic void setReorderingAllowed(boolean reorderingAllowed)
reorderingAllowed - true if the table view should allow
 reordering; otherwise falsegetReorderingAllowed() public boolean getReorderingAllowed()
reorderingAllowed propertysetReorderingAllowed(boolean) public void setResizingAllowed(boolean resizingAllowed)
resizingAllowed - true if table view should allow
 resizinggetResizingAllowed() public boolean getResizingAllowed()
resizingAllowed propertysetResizingAllowed(boolean) public TableColumn getDraggedColumn()
null.nullgetDraggedDistance() public int getDraggedDistance()
getDraggedColumn() public TableColumn getResizingColumn()
null.nullpublic void setUpdateTableInRealTime(boolean flag)
public 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 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.columnJTable.getCellRect(int, int, boolean) public String getToolTipText(MouseEvent event)
getToolTipText  in class JComponent event - the location of the event identifies the proper
 renderer and, therefore, the proper tippublic TableHeaderUI getUI()
TableHeaderUI object that renders this componentpublic void setUI(TableHeaderUI ui)
ui - the TableHeaderUI L&F objectUIDefaults.getUI(javax.swing.JComponent) public 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 JComponent.updateUI() public String getUIClassID()
getUIClassID  in class JComponent JComponent.getUIClassID(), 
UIDefaults.getUI(javax.swing.JComponent) 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 nullgetColumnModel() public TableColumnModel getColumnModel()
TableColumnModel that contains all column information
 of this table header.columnModel propertysetColumnModel(javax.swing.table.TableColumnModel) public 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 receivedTableColumnModelListener public 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 receivedTableColumnModelListener public 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 receivedTableColumnModelListener public 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 receivedTableColumnModelListener public 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 receivedTableColumnModelListener protected 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 JTableHeaderpublic AccessibleContext getAccessibleContext()
getAccessibleContext  in interface Accessible getAccessibleContext  in class JComponent  Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy. 
Scripting on this page tracks web page traffic, but does not change the content in any way.