- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,TableColumnModelListener
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:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
This class implements accessibility support for theJTableHeader
class.Nested classes/interfaces declared in class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces declared in class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Modifier and TypeFieldDescriptionprotected TableColumnModel
TheTableColumnModel
of the table header.protected TableColumn
The index of the column being dragged.protected int
The distance from its original position the column has been dragged.protected boolean
If true, reordering of columns are allowed by the user; the default is true.protected boolean
If true, resizing of columns are allowed by the user; the default is true.protected TableColumn
The index of the column being resized.protected JTable
The table for which this object is the header; the default isnull
.protected boolean
Obsolete as of Java 2 platform v1.3.Fields declared in class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields declared in class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorDescriptionConstructs aJTableHeader
with a defaultTableColumnModel
.Constructs aJTableHeader
which is initialized withcm
as the column model. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Invoked when a column is added to the table column model.int
columnAtPoint
(Point point) Returns the index of the column thatpoint
lies in, or -1 if it lies out of bounds.void
Invoked when a column is moved due to a margin change.void
Invoked when a column is repositioned.void
Invoked when a column is removed from the table column model.void
Invoked when the selection model of theTableColumnModel
is changed.protected TableColumnModel
Returns the default column model object which is aDefaultTableColumnModel
.protected TableCellRenderer
Returns a default renderer to be used when no header renderer is defined by aTableColumn
.Gets the AccessibleContext associated with this JTableHeader.Returns theTableColumnModel
that contains all column information of this table header.Returns the default renderer used when noheaderRenderer
is defined by aTableColumn
.Returns the dragged column, if and only if, a drag is in process, otherwise returnsnull
.int
Returns the column's horizontal distance from its original position, if and only if, a drag is in process.getHeaderRect
(int column) Returns the rectangle containing the header tile atcolumn
.Returns the preferred size of the table header.boolean
Returns true if the user is allowed to rearrange columns by dragging their headers, false otherwise.boolean
Returns true if the user is allowed to resize columns by dragging between their headers, false otherwise.Returns the resizing column.getTable()
Returns the table associated with this header.getToolTipText
(MouseEvent event) Allows the renderer's tips to be used if there is text set.getUI()
Returns the look and feel (L&F) object that renders this component.Returns the suffix used to construct the name of the look and feel (L&F) class used to render this component.boolean
Obsolete as of Java 2 platform v1.3.protected void
Initializes the local variables and properties with default values.protected String
Returns a string representation of thisJTableHeader
.void
Sizes the header and marks it as needing display.void
setColumnModel
(TableColumnModel columnModel) Sets the column model for this table tonewModel
and registers for listener notifications from the new column model.void
setDefaultRenderer
(TableCellRenderer defaultRenderer) Sets the default renderer to be used when noheaderRenderer
is defined by aTableColumn
.void
setDraggedColumn
(TableColumn aColumn) Sets the header'sdraggedColumn
toaColumn
.void
setDraggedDistance
(int distance) Sets the header'sdraggedDistance
todistance
.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'sresizingColumn
toaColumn
.void
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 theUIManager
that the look and feel (L&F) has changed.Methods declared in class javax.swing.JComponent
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
Methods declared in 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 declared in 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, 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
-
Field Details
-
table
The table for which this object is the header; the default isnull
. -
columnModel
TheTableColumnModel
of the table header. -
reorderingAllowed
protected boolean reorderingAllowedIf true, reordering of columns are allowed by the user; the default is true. -
resizingAllowed
protected boolean resizingAllowedIf true, resizing of columns are allowed by the user; the default is true. -
updateTableInRealTime
protected boolean updateTableInRealTimeObsolete as of Java 2 platform v1.3. Real time repaints, in response to column dragging or resizing, are now unconditional. -
resizingColumn
The index of the column being resized.null
if not resizing. -
draggedColumn
The index of the column being dragged.null
if not dragging. -
draggedDistance
protected transient int draggedDistanceThe distance from its original position the column has been dragged.
-
-
Constructor Details
-
JTableHeader
public JTableHeader()Constructs aJTableHeader
with a defaultTableColumnModel
.- See Also:
-
JTableHeader
Constructs aJTableHeader
which is initialized withcm
as the column model. Ifcm
isnull
this method will initialize the table header with a defaultTableColumnModel
.- Parameters:
cm
- the column model for the table- See Also:
-
-
Method Details
-
setTable
@BeanProperty(description="The table associated with this header.") public void setTable(JTable table) Sets the table associated with this header.- Parameters:
table
- the new table
-
getTable
-
setReorderingAllowed
@BeanProperty(description="Whether the user can drag column headers to reorder columns.") 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
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:
-
setResizingAllowed
@BeanProperty(description="Whether the user can resize columns by dragging between headers.") 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
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:
-
getDraggedColumn
Returns the dragged column, if and only if, a drag is in process, otherwise returnsnull
.- Returns:
- the dragged column, if a drag is in
process, otherwise returns
null
- See Also:
-
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:
-
getResizingColumn
Returns the resizing column. If no column is being resized this method returnsnull
.- 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.- Parameters:
flag
- true if tableView should update the body of the table in real time
-
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.- Returns:
- true if the table updates in real time
-
setDefaultRenderer
Sets the default renderer to be used when noheaderRenderer
is defined by aTableColumn
.- Parameters:
defaultRenderer
- the default renderer- Since:
- 1.3
-
getDefaultRenderer
Returns the default renderer used when noheaderRenderer
is defined by aTableColumn
.- Returns:
- the default renderer
- Since:
- 1.3
-
columnAtPoint
Returns the index of the column thatpoint
lies in, or -1 if it lies out of bounds.- Parameters:
point
- if thispoint
lies within a column, the index of that column will be returned; otherwise it is out of bounds and -1 is returned- Returns:
- the index of the column that
point
lies in, or -1 if it lies out of bounds
-
getHeaderRect
Returns the rectangle containing the header tile atcolumn
. When thecolumn
parameter is out of bounds this method uses the same conventions as theJTable
methodgetCellRect
.- Parameters:
column
- index of the column- Returns:
- the rectangle containing the header tile at
column
- See Also:
-
getToolTipText
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
-
getPreferredSize
Returns the preferred size of the table header. This is the size required to display the header and requested for the viewport. The returnedDimension
width
will always be calculated by the underlying TableHeaderUI, regardless of any width specified byJComponent.setPreferredSize(java.awt.Dimension)
- Overrides:
getPreferredSize
in classJComponent
- Returns:
- the size
- See Also:
-
getUI
Returns the look and feel (L&F) object that renders this component.- Overrides:
getUI
in classJComponent
- Returns:
- the
TableHeaderUI
object that renders this component
-
setUI
Sets the look and feel (L&F) object that renders this component.- Parameters:
ui
- theTableHeaderUI
L&F object- See Also:
-
updateUI
public void updateUI()Notification from theUIManager
that the look and feel (L&F) has changed. Replaces the current UI object with the latest version from theUIManager
.- Overrides:
updateUI
in classJComponent
- See Also:
-
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:
-
setColumnModel
@BeanProperty(description="The object governing the way columns appear in the view.") public void setColumnModel(TableColumnModel columnModel) Sets the column model for this table tonewModel
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
Returns theTableColumnModel
that contains all column information of this table header.- Returns:
- the
columnModel
property - See Also:
-
columnAdded
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:
-
columnRemoved
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:
-
columnMoved
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:
-
columnMarginChanged
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:
-
columnSelectionChanged
Invoked when the selection model of theTableColumnModel
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:
-
createDefaultColumnModel
Returns the default column model object which is aDefaultTableColumnModel
. A subclass can override this method to return a different column model object- Returns:
- the default column model object
-
createDefaultRenderer
Returns a default renderer to be used when no header renderer is defined by aTableColumn
.- 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 torevalidate
followed byrepaint
. -
setDraggedColumn
Sets the header'sdraggedColumn
toaColumn
.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'sdraggedDistance
todistance
.- Parameters:
distance
- the distance dragged
-
setResizingColumn
Sets the header'sresizingColumn
toaColumn
.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
Returns a string representation of thisJTableHeader
. 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 benull
.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
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
-