public class JXTableHeader extends javax.swing.table.JTableHeader implements TableColumnModelExtListener
The enhancements:
toggleSortOrder(int) and resetSortOrder()
| Modifier and Type | Class and Description |
|---|---|
static class |
JXTableHeader.SortGestureRecognizer
Encapsulates decision about which MouseEvents should
trigger sort/unsort events.
|
javax.swing.table.JTableHeader.AccessibleJTableHeaderjavax.swing.JComponent.AccessibleJComponentcolumnModel, draggedColumn, draggedDistance, reorderingAllowed, resizingAllowed, resizingColumn, table, updateTableInRealTimeaccessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW| Constructor and 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 and 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() |
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, setUpdateTableInRealTimeaddAncestorListener, 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, 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, updateadd, 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, validateTreeaction, 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, hide, 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, transferFocusUpCyclepublic 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.JTableHeaderpublic void columnPropertyChange(java.beans.PropertyChangeEvent event)
columnPropertyChange in interface TableColumnModelExtListenerevent - 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.JTableHeaderprotected 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.JComponentprotected 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.JTableHeaderpreUpdateRendererUI(),
postUpdateRendererUI(TableCellRenderer),
ColumnHeaderRendererprotected 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.JTableHeaderpublic javax.swing.table.TableColumn getDraggedColumn()
null.getDraggedColumn in class javax.swing.table.JTableHeadernullJTableHeader.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()