Class JTableHeader
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.table.JTableHeader
- All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable, EventListener, Accessible, TableColumnModelListener
public class JTableHeader extends JComponent implements TableColumnModelListener, Accessible
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 JavaBeans™ has been added to the java.beans
package. Please see XMLEncoder
.
- See Also:
JTable
Nested Classes
Modifier and Type | Class and Description |
---|---|
protected class |
JTableHeader.AccessibleJTableHeader This class implements accessibility support for the |
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Fields
Modifier and Type | Field and Description |
---|---|
protected TableColumnModel |
columnModel The |
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 |
protected boolean |
updateTableInRealTime Obsolete as of Java 2 platform v1.3. |
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructors
Constructor and Description |
---|
JTableHeader() Constructs a |
JTableHeader(TableColumnModel cm) Constructs a |
Methods
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 |
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 |
protected TableColumnModel |
createDefaultColumnModel() Returns the default column model object which is a |
protected TableCellRenderer |
createDefaultRenderer() Returns a default renderer to be used when no header renderer is defined by a |
AccessibleContext |
getAccessibleContext() Gets the AccessibleContext associated with this JTableHeader. |
TableColumnModel |
getColumnModel() Returns the |
TableCellRenderer |
getDefaultRenderer() Returns the default renderer used when no |
TableColumn |
getDraggedColumn() Returns the the dragged column, if and only if, a drag is in process, otherwise returns |
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 |
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 |
void |
resizeAndRepaint() Sizes the header and marks it as needing display. |
void |
setColumnModel(TableColumnModel columnModel) Sets the column model for this table to |
void |
setDefaultRenderer(TableCellRenderer defaultRenderer) Sets the default renderer to be used when no |
void |
setDraggedColumn(TableColumn aColumn) Sets the header's |
void |
setDraggedDistance(int distance) Sets the header's |
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 |
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 |
Methods inherited from class javax.swing.JComponent
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
Methods inherited from class java.awt.Container
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
Methods inherited from class java.awt.Component
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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Fields
table
protected JTable table
The table for which this object is the header; the default is null
.
columnModel
protected TableColumnModel columnModel
The TableColumnModel
of the table header.
reorderingAllowed
protected boolean reorderingAllowed
If true, reordering of columns are allowed by the user; the default is true.
resizingAllowed
protected boolean resizingAllowed
If true, resizing of columns are allowed by the user; the default is true.
updateTableInRealTime
protected boolean updateTableInRealTime
Obsolete as of Java 2 platform v1.3. Real time repaints, in response to column dragging or resizing, are now unconditional.
resizingColumn
protected transient TableColumn resizingColumn
The index of the column being resized. null
if not resizing.
draggedColumn
protected transient TableColumn draggedColumn
The index of the column being dragged. null
if not dragging.
draggedDistance
protected transient int draggedDistance
The distance from its original position the column has been dragged.
Constructors
JTableHeader
public JTableHeader()
Constructs a JTableHeader
with a default TableColumnModel
.
- See Also:
createDefaultColumnModel()
JTableHeader
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 - See Also:
createDefaultColumnModel()
Methods
setTable
public void setTable(JTable table)
Sets the table associated with this header.
- Parameters:
-
table
- the new table
getTable
public JTable getTable()
Returns the table associated with this header.
- Returns:
- the
table
property
setReorderingAllowed
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 - See Also:
getReorderingAllowed()
getReorderingAllowed
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 - See Also:
setReorderingAllowed(boolean)
setResizingAllowed
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 - See Also:
getResizingAllowed()
getResizingAllowed
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 - See Also:
setResizingAllowed(boolean)
getDraggedColumn
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
- See Also:
getDraggedDistance()
getDraggedDistance
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
- See Also:
getDraggedColumn()
getResizingColumn
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
setUpdateTableInRealTime
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.
getUpdateTableInRealTime
public boolean getUpdateTableInRealTime()
Obsolete as of Java 2 platform v1.3. Real time repaints, in response to column dragging or resizing, are now unconditional.
setDefaultRenderer
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 - Since:
- 1.3
getDefaultRenderer
public TableCellRenderer getDefaultRenderer()
Returns the default renderer used when no headerRenderer
is defined by a TableColumn
.
- Returns:
- the default renderer
- Since:
- 1.3
columnAtPoint
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
getHeaderRect
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
- See Also:
JTable.getCellRect(int, int, boolean)
getToolTipText
public String getToolTipText(MouseEvent event)
Allows the renderer's tips to be used if there is text set.
- Overrides:
-
getToolTipText
in classJComponent
- Parameters:
-
event
- the location of the event identifies the proper renderer and, therefore, the proper tip - Returns:
- the tool tip for this component
getUI
public TableHeaderUI getUI()
Returns the look and feel (L&F) object that renders this component.
- Returns:
- the
TableHeaderUI
object that renders this component
setUI
public void setUI(TableHeaderUI ui)
Sets the look and feel (L&F) object that renders this component.
- Parameters:
-
ui
- theTableHeaderUI
L&F object - See Also:
UIDefaults.getUI(javax.swing.JComponent)
updateUI
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
.
- Overrides:
-
updateUI
in classJComponent
- See Also:
JComponent.updateUI()
getUIClassID
public String getUIClassID()
Returns the suffix used to construct the name of the look and feel (L&F) class used to render this component.
- Overrides:
-
getUIClassID
in classJComponent
- Returns:
- the string "TableHeaderUI"
- See Also:
-
JComponent.getUIClassID()
,UIDefaults.getUI(javax.swing.JComponent)
setColumnModel
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
- ifnewModel
isnull
- See Also:
getColumnModel()
getColumnModel
public TableColumnModel getColumnModel()
Returns the TableColumnModel
that contains all column information of this table header.
- Returns:
- the
columnModel
property - See Also:
setColumnModel(javax.swing.table.TableColumnModel)
columnAdded
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
.
- Specified by:
-
columnAdded
in interfaceTableColumnModelListener
- Parameters:
-
e
- the event received - See Also:
TableColumnModelListener
columnRemoved
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
.
- Specified by:
-
columnRemoved
in interfaceTableColumnModelListener
- Parameters:
-
e
- the event received - See Also:
TableColumnModelListener
columnMoved
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
.
- Specified by:
-
columnMoved
in interfaceTableColumnModelListener
- Parameters:
-
e
- the event received - See Also:
TableColumnModelListener
columnMarginChanged
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
.
- Specified by:
-
columnMarginChanged
in interfaceTableColumnModelListener
- Parameters:
-
e
- the event received - See Also:
TableColumnModelListener
columnSelectionChanged
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
.
- Specified by:
-
columnSelectionChanged
in interfaceTableColumnModelListener
- Parameters:
-
e
- the event received - See Also:
TableColumnModelListener
createDefaultColumnModel
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
createDefaultRenderer
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
- Since:
- 1.3
initializeLocalVars
protected void initializeLocalVars()
Initializes the local variables and properties with default values. Used by the constructor methods.
resizeAndRepaint
public void resizeAndRepaint()
Sizes the header and marks it as needing display. Equivalent to revalidate
followed by repaint
.
setDraggedColumn
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, ornull
if no column is being dragged
setDraggedDistance
public void setDraggedDistance(int distance)
Sets the header's draggedDistance
to distance
.
- Parameters:
-
distance
- the distance dragged
setResizingColumn
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, ornull
if no column is being resized
paramString
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.
- Overrides:
-
paramString
in classJComponent
- Returns:
- a string representation of this
JTableHeader
getAccessibleContext
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.
- Specified by:
-
getAccessibleContext
in interfaceAccessible
- Overrides:
-
getAccessibleContext
in classComponent
- Returns:
- an AccessibleJTableHeader that serves as the AccessibleContext of this JTableHeader
© 1993, 2020, 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/javase/8/docs/api/javax/swing/table/JTableHeader.html