java.awt.image.ImageObserver
, java.awt.MenuContainer
, java.io.Serializable
, java.util.EventListener
, javax.accessibility.Accessible
, javax.swing.event.TableColumnModelListener
, TableColumnModelExtListener
public class JXTableHeader extends javax.swing.table.JTableHeader implements TableColumnModelExtListener
The enhancements:
toggleSortOrder(int)
and resetSortOrder()
Modifier and Type | Class | Description |
---|---|---|
static class |
JXTableHeader.SortGestureRecognizer |
Encapsulates decision about which MouseEvents should
trigger sort/unsort events.
|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
java.awt.Container.AccessibleAWTContainer
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor | Description |
---|---|
JXTableHeader() |
Constructs a
JTableHeader with a default
TableColumnModel . |
JXTableHeader(javax.swing.table.TableColumnModel columnModel) |
Constructs a
JTableHeader which is initialized with
cm as the column model. |
Modifier and Type | Method | Description |
---|---|---|
void |
columnPropertyChange(java.beans.PropertyChangeEvent event) |
Implementing TableColumnModelExt: listening to column property changes.
|
protected JXTableHeader.SortGestureRecognizer |
createSortGestureRecognizer() |
creates and returns the default SortGestureRecognizer.
|
javax.swing.table.TableCellRenderer |
getCellRenderer(int columnIndex) |
Returns the TableCellRenderer used for rendering the headerCell
of the column at columnIndex.
|
protected java.lang.String |
getColumnToolTipText(java.awt.event.MouseEvent event) |
|
javax.swing.table.TableColumn |
getDraggedColumn() |
Returns the the dragged column if and only if, a drag is in process and
the column is visible, otherwise returns
null . |
protected int |
getMinimumHeight(int height) |
Allows to enforce a minimum heigth in the
getXXSize methods.
|
java.awt.Dimension |
getPreferredSize() |
Overridden to adjust for a minimum height as returned by
#getMinimumHeight.
|
protected java.awt.Dimension |
getPreferredSize(java.awt.Dimension pref) |
Hack around #334-swingx: super doesnt measure all headerRenderers
for prefSize.
|
JXTableHeader.SortGestureRecognizer |
getSortGestureRecognizer() |
Lazily creates and returns the SortGestureRecognizer.
|
java.lang.String |
getToolTipText(java.awt.event.MouseEvent event) |
overridden to respect the column tooltip, if available.
|
JXTable |
getXTable() |
|
protected void |
installHeaderListener() |
|
protected boolean |
isColumnEvent(java.beans.PropertyChangeEvent event) |
|
protected void |
postUpdateRendererUI(javax.swing.table.TableCellRenderer oldRenderer) |
Cleans up after the UIDelegate has updated the default renderer.
|
protected javax.swing.table.TableCellRenderer |
preUpdateRendererUI() |
Prepares the default renderer and internal state for updateUI.
|
void |
setDraggedDistance(int distance) |
|
void |
setSortGestureRecognizer(JXTableHeader.SortGestureRecognizer recognizer) |
Set the SortGestureRecognizer for use in the HeaderListener.
|
void |
setTable(javax.swing.JTable table) |
Sets the associated JTable.
|
protected void |
uninstallHeaderListener() |
|
void |
updateUI() |
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, 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
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
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, 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
columnAdded, columnAtPoint, columnMarginChanged, columnMoved, columnRemoved, columnSelectionChanged, createDefaultColumnModel, createDefaultRenderer, getAccessibleContext, getColumnModel, getDefaultRenderer, getDraggedDistance, getHeaderRect, getReorderingAllowed, getResizingAllowed, getResizingColumn, getTable, getUI, getUIClassID, getUpdateTableInRealTime, initializeLocalVars, paramString, resizeAndRepaint, setColumnModel, setDefaultRenderer, setDraggedColumn, setReorderingAllowed, setResizingAllowed, setResizingColumn, setUI, setUpdateTableInRealTime
public JXTableHeader()
JTableHeader
with a default
TableColumnModel
.JTableHeader.createDefaultColumnModel()
public JXTableHeader(javax.swing.table.TableColumnModel columnModel)
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
.columnModel
- the column model for the tableJTableHeader.createDefaultColumnModel()
public void setTable(javax.swing.JTable table)
PENDING: who is responsible for synching the columnModel?
setTable
in class javax.swing.table.JTableHeader
public void columnPropertyChange(java.beans.PropertyChangeEvent event)
columnPropertyChange
in interface TableColumnModelExtListener
event
- change notification from a contained TableColumn.isColumnEvent(PropertyChangeEvent)
protected boolean isColumnEvent(java.beans.PropertyChangeEvent event)
event
- the PropertyChangeEvent received as TableColumnModelExtListener.public java.lang.String getToolTipText(java.awt.event.MouseEvent event)
getToolTipText
in class javax.swing.table.JTableHeader
protected java.lang.String getColumnToolTipText(java.awt.event.MouseEvent event)
event
- the mouseEvent representing the mouse location.public JXTable getXTable()
public javax.swing.table.TableCellRenderer getCellRenderer(int columnIndex)
columnIndex
- the index of the columnpublic java.awt.Dimension getPreferredSize()
getPreferredSize
in class javax.swing.table.JTableHeader
protected java.awt.Dimension getPreferredSize(java.awt.Dimension pref)
pref
- the adjusted preferred size respecting all renderers
size requirements.protected int getMinimumHeight(int height)
height
- the prefHeigth as calcualated by super.public void updateUI()
Overridden to update the default renderer.
updateUI
in class javax.swing.table.JTableHeader
preUpdateRendererUI()
,
postUpdateRendererUI(TableCellRenderer)
,
ColumnHeaderRenderer
protected javax.swing.table.TableCellRenderer preUpdateRendererUI()
ColumnHeaderRenderer
's delegate.updateUI()
protected void postUpdateRendererUI(javax.swing.table.TableCellRenderer oldRenderer)
updateUI
after calling super.updateUI
.
This implementation wraps a UIResource
default renderer into a
ColumnHeaderRenderer
.oldRenderer
- the default renderer before updateUIupdateUI()
public void setDraggedDistance(int distance)
Overridden to scroll the table to keep the dragged column visible.
This side-effect is enabled only if the header's autoscroll property is
true
and the associated table is of type JXTable.
The autoscrolls is disabled by default. With or without - core issue #6503981 has weird effects (for jdk 1.6 - 1.6u3) on a plain JTable as well as a JXTable, fixed in 1.6u4.
setDraggedDistance
in class javax.swing.table.JTableHeader
public javax.swing.table.TableColumn getDraggedColumn()
null
.getDraggedColumn
in class javax.swing.table.JTableHeader
null
JTableHeader.getDraggedDistance()
public JXTableHeader.SortGestureRecognizer getSortGestureRecognizer()
public void setSortGestureRecognizer(JXTableHeader.SortGestureRecognizer recognizer)
recognizer
- the recognizer to use in HeaderListener.protected JXTableHeader.SortGestureRecognizer createSortGestureRecognizer()
protected void installHeaderListener()
protected void uninstallHeaderListener()