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 JTableHeader class. |
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field | Description |
---|---|---|
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. |
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 JTableHeader with a default TableColumnModel . |
JTableHeader |
Constructs a JTableHeader which is initialized with cm as 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 point lies 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 TableColumnModel is 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 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 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 newModel and registers for listener notifications from the new column model. |
void |
setDefaultRenderer |
Sets the default renderer to be used when no headerRenderer is defined by a TableColumn . |
void |
setDraggedColumn |
Sets the header's draggedColumn to aColumn . |
void |
setDraggedDistance |
Sets the header's draggedDistance to distance . |
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 resizingColumn to aColumn . |
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 UIManager that 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