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
.
JTable
Modifier and Type | Class and 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 and 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 and Description |
---|
JTableHeader()
Constructs a
JTableHeader with a default
TableColumnModel . |
JTableHeader(TableColumnModel cm)
Constructs a
JTableHeader which is initialized with
cm as 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
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. |
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 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
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. |
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
.null
getDraggedDistance()
public int getDraggedDistance()
getDraggedColumn()
public TableColumn getResizingColumn()
null
.null
public 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
.column
JTable.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 null
getColumnModel()
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
JTableHeader
public AccessibleContext getAccessibleContext()
getAccessibleContext
in interface Accessible
getAccessibleContext
in class Component
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, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.