java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.table.JTableHeader
- 所有已实现的接口:
-
ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,TableColumnModelListener
这是管理
JTable
头部的对象。
警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4版本开始,已经向java.beans
包添加了对所有JavaBeans进行长期存储的支持。请参阅XMLEncoder
。
- 参见:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
该类为JTableHeader
类实现了辅助功能支持。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
表头的TableColumnModel
。protected TableColumn
正在拖动的列的索引。protected int
列被拖动时距离其原始位置的距离。protected boolean
如果为true,则用户可以重新排序列;默认为true。protected boolean
如果为true,则用户可以通过拖动调整列的大小;默认为true。protected TableColumn
正在调整大小的列的索引。protected JTable
此对象是头部的表格;默认为null
。protected boolean
自Java 2平台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
ConstructorDescription使用默认TableColumnModel
构造一个JTableHeader
。使用cm
作为列模型初始化一个JTableHeader
。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
当列添加到表格列模型时调用。int
columnAtPoint
(Point point) 返回point
所在列的索引,如果超出边界则返回-1。void
由于边距更改而移动列时调用。void
当列重新定位时调用。void
当列从表格列模型中移除时调用。void
当TableColumnModel
的选择模型更改时调用。protected TableColumnModel
返回默认的列模型对象,即DefaultTableColumnModel
。protected TableCellRenderer
在未定义表头渲染器时返回默认渲染器。获取与此JTableHeader关联的AccessibleContext。返回包含此表头所有列信息的TableColumnModel
。返回未定义headerRenderer
时使用的默认渲染器。如果拖动正在进行,则返回被拖动的列,否则返回null
。int
如果拖动正在进行,则返回列水平距离,否则返回null
。getHeaderRect
(int column) 返回包含column
处的表头单元格的矩形。返回表头的首选大小。boolean
如果用户允许通过拖动表头重新排列列,则返回true,否则返回false。boolean
如果用户允许通过拖动表头调整列大小,则返回true,否则返回false。返回正在调整大小的列。getTable()
返回与此头部关联的表格。getToolTipText
(MouseEvent event) 如果设置了文本,则允许使用渲染器的提示。getUI()
返回渲染此组件的外观(L&F)对象。返回用于构造用于渲染此组件的外观(L&F)类名称的后缀。boolean
自Java 2平台v1.3起已过时。protected void
使用默认值初始化本地变量和属性。protected String
返回此JTableHeader
的字符串表示形式。void
调整表头大小并标记为需要显示。void
setColumnModel
(TableColumnModel columnModel) 为此表格设置列模型为newModel
,并从新列模型注册监听器通知。void
setDefaultRenderer
(TableCellRenderer defaultRenderer) 当未定义headerRenderer
时,设置默认渲染器。void
setDraggedColumn
(TableColumn aColumn) 将表头的draggedColumn
设置为aColumn
。void
setDraggedDistance
(int distance) 将表头的draggedDistance
设置为distance
。void
setReorderingAllowed
(boolean reorderingAllowed) 设置用户是否可以拖动列头以重新排序列。void
setResizingAllowed
(boolean resizingAllowed) 设置用户是否可以通过拖动表头调整列大小。void
setResizingColumn
(TableColumn aColumn) 将表头的resizingColumn
设置为aColumn
。void
设置与此头部关联的表格。void
setUI
(TableHeaderUI ui) 设置渲染此组件的外观(L&F)对象。void
setUpdateTableInRealTime
(boolean flag) 自Java 2平台v1.3起已过时。void
updateUI()
来自UIManager
的通知,外观(L&F)已更改。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
此对象是头部的表格;默认为null
。 -
columnModel
表头的TableColumnModel
。 -
reorderingAllowed
protected boolean reorderingAllowed如果为true,则用户可以重新排序列;默认为true。 -
resizingAllowed
protected boolean resizingAllowed如果为true,则用户可以通过拖动调整列的大小;默认为true。 -
updateTableInRealTime
protected boolean updateTableInRealTime自Java 2平台v1.3起已过时。实时重绘,响应列拖动或调整大小,现在是无条件的。 -
resizingColumn
正在调整大小的列的索引。如果未调整大小,则返回null
。 -
draggedColumn
正在拖动的列的索引。如果未拖动,则返回null
。 -
draggedDistance
protected transient int draggedDistance列被拖动时距离其原始位置的距离。
-
-
Constructor Details
-
JTableHeader
public JTableHeader()使用默认TableColumnModel
构造一个JTableHeader
。- 参见:
-
JTableHeader
使用cm
作为列模型初始化一个JTableHeader
。如果cm
为null
,此方法将使用默认TableColumnModel
初始化表头。- 参数:
-
cm
- 表格的列模型 - 参见:
-
-
Method Details
-
setTable
@BeanProperty(description="The table associated with this header.") public void setTable(JTable table) 设置与此头部关联的表格。- 参数:
-
table
- 新表格
-
getTable
返回与此头部关联的表格。- 返回:
-
table
属性
-
setReorderingAllowed
@BeanProperty(description="Whether the user can drag column headers to reorder columns.") public void setReorderingAllowed(boolean reorderingAllowed) 设置用户是否可以拖动列头以重新排序列。- 参数:
-
reorderingAllowed
- 如果表视图应允许重新排序,则为true;否则为false - 参见:
-
getReorderingAllowed
public boolean getReorderingAllowed()返回true如果用户允许通过拖动表头重新排列列,否则返回false。默认为true。无论此设置如何,您都可以通过编程方式重新排列列。- 返回:
-
reorderingAllowed
属性 - 参见:
-
setResizingAllowed
@BeanProperty(description="Whether the user can resize columns by dragging between headers.") public void setResizingAllowed(boolean resizingAllowed) 设置用户是否可以通过拖动表头调整列大小。- 参数:
-
resizingAllowed
- 如果表视图应允许调整大小,则为true - 参见:
-
getResizingAllowed
public boolean getResizingAllowed()返回true如果用户允许通过拖动表头调整列大小,否则返回false。默认为true。无论此设置如何,您都可以通过编程方式调整列大小。- 返回:
-
resizingAllowed
属性 - 参见:
-
getDraggedColumn
返回正在拖动的列,仅当拖动正在进行时,否则返回null
。- 返回:
-
如果拖动正在进行,则返回正在拖动的列,否则返回
null
- 参见:
-
getDraggedDistance
public int getDraggedDistance()返回正在拖动的列的水平距离,仅当拖动正在进行时。否则,返回值是无意义的。- 返回:
- 如果拖动正在进行,则返回正在拖动的列的水平距离,否则返回值是无意义的
- 参见:
-
getResizingColumn
返回正在调整大小的列。如果没有列正在调整大小,则此方法返回null
。- 返回:
-
如果调整大小正在进行,则返回正在调整大小的列,否则返回
null
-
setUpdateTableInRealTime
public void setUpdateTableInRealTime(boolean flag) 自Java 2平台v1.3起已过时。实时重绘,响应列拖动或调整大小,现在是无条件的。- 参数:
-
flag
- 如果tableView应该实时更新表格的主体,则为true
-
getUpdateTableInRealTime
public boolean getUpdateTableInRealTime()从Java 2平台v1.3起已过时。实时重绘,响应列拖动或调整大小,现在是无条件的。- 返回:
- 如果表格实时更新,则为true
-
setDefaultRenderer
当没有TableColumn
定义headerRenderer
时,设置要使用的默认渲染器。- 参数:
-
defaultRenderer
- 默认渲染器 - 自1.3起:
- 1.3
-
getDefaultRenderer
返回当没有TableColumn
定义headerRenderer
时使用的默认渲染器。- 返回:
- 默认渲染器
- 自1.3起:
- 1.3
-
columnAtPoint
返回point
所在列的索引,如果超出边界则返回-1。- 参数:
-
point
- 如果这个point
位于列内,则返回该列的索引;否则超出边界,返回-1 - 返回:
-
返回
point
所在列的索引,如果超出边界则返回-1
-
getHeaderRect
返回包含column
处的表头瓷砖的矩形。当column
参数超出边界时,此方法使用与JTable
方法getCellRect
相同的约定。- 参数:
-
column
- 列的索引 - 返回:
-
包含
column
处的表头瓷砖的矩形 - 参见:
-
getToolTipText
如果设置了文本,则允许使用渲染器的提示。- 覆盖:
-
getToolTipText
在类JComponent
中 - 参数:
-
event
- 事件的位置标识正确的渲染器和因此正确的提示 - 返回:
- 此组件的工具提示
-
getPreferredSize
返回表头的首选大小。这是显示表头并为视口请求的大小。返回的Dimension
width
将始终由底层TableHeaderUI计算,而不管JComponent.setPreferredSize(java.awt.Dimension)
指定的任何宽度。- 覆盖:
-
getPreferredSize
在类JComponent
中 - 返回:
- 大小
- 参见:
-
getUI
返回渲染此组件的外观(L&F)对象。- 覆盖:
-
getUI
在类JComponent
中 - 返回:
-
渲染此组件的
TableHeaderUI
对象
-
setUI
设置渲染此组件的外观(L&F)对象。- 参数:
-
ui
-TableHeaderUI
L&F对象 - 参见:
-
updateUI
public void updateUI()从UIManager
接收外观(L&F)已更改的通知。用最新版本从UIManager
替换当前UI对象。- 覆盖:
-
updateUI
在类JComponent
中 - 参见:
-
getUIClassID
返回用于构造用于渲染此组件的外观(L&F)类的名称的后缀。- 覆盖:
-
getUIClassID
在类JComponent
中 - 返回:
- 字符串"TableHeaderUI"
- 参见:
-
setColumnModel
@BeanProperty(description="The object governing the way columns appear in the view.") public void setColumnModel(TableColumnModel columnModel) 将此表的列模型设置为newModel
并从新列模型注册侦听器通知。- 参数:
-
columnModel
- 此表的新数据源 - 抛出:
-
IllegalArgumentException
- 如果newModel
为null
- 参见:
-
getColumnModel
返回包含此表头所有列信息的TableColumnModel
。- 返回:
-
columnModel
属性 - 参见:
-
columnAdded
当列添加到表列模型时调用。应用程序代码不会显式使用这些方法,它们由
JTable
在内部使用。- 指定者:
-
columnAdded
在接口TableColumnModelListener
中 - 参数:
-
e
- 收到的事件 - 参见:
-
columnRemoved
当列从表列模型中移除时调用。应用程序代码不会显式使用这些方法,它们由
JTable
在内部使用。- 指定者:
-
columnRemoved
在接口TableColumnModelListener
中 - 参数:
-
e
- 收到的事件 - 参见:
-
columnMoved
当列重新定位时调用。应用程序代码不会显式使用这些方法,它们由
JTable
在内部使用。- 指定者:
-
columnMoved
在接口TableColumnModelListener
中 - 参数:
-
e
- 收到的事件 - 参见:
-
columnMarginChanged
当列由于边距更改而移动时调用。应用程序代码不会显式使用这些方法,它们由
JTable
在内部使用。- 指定者:
-
columnMarginChanged
在接口TableColumnModelListener
中 - 参数:
-
e
- 收到的事件 - 参见:
-
columnSelectionChanged
当TableColumnModel
的选择模型更改时调用。此方法目前不起作用(表头不会重绘)。应用程序代码不会显式使用这些方法,它们由
JTable
在内部使用。- 指定者:
-
columnSelectionChanged
在接口TableColumnModelListener
中 - 参数:
-
e
- 收到的事件 - 参见:
-
createDefaultColumnModel
返回默认列模型对象,它是一个DefaultTableColumnModel
。子类可以覆盖此方法以返回不同的列模型对象- 返回:
- 默认列模型对象
-
createDefaultRenderer
返回在TableColumn
未定义headerRenderer
时使用的默认渲染器。- 返回:
- 默认的表格列渲染器
- 自从:
- 1.3
-
initializeLocalVars
protected void initializeLocalVars()初始化本地变量和属性为默认值。由构造方法使用。 -
resizeAndRepaint
public void resizeAndRepaint()调整表头大小并标记为需要显示。相当于revalidate
后跟repaint
。 -
setDraggedColumn
将表头的draggedColumn
设置为aColumn
。应用代码不会显式使用此方法,它由列拖动机制在内部使用。
- 参数:
-
aColumn
- 正在拖动的列,或者如果没有列正在被拖动则为null
-
setDraggedDistance
public void setDraggedDistance(int distance) 将表头的draggedDistance
设置为distance
。- 参数:
-
distance
- 拖动的距离
-
setResizingColumn
将表头的resizingColumn
设置为aColumn
。应用代码不会显式使用此方法,它由列调整大小机制在内部使用。
- 参数:
-
aColumn
- 正在调整大小的列,或者如果没有列正在被调整大小则为null
-
paramString
返回此JTableHeader
的字符串表示形式。此方法仅用于调试目的,返回的字符串的内容和格式可能因实现而异。返回的字符串可能为空但不能为null
。重写
paramString
以提供有关JFC组件特定新方面的信息。- 覆盖:
-
paramString
在类JComponent
- 返回:
-
此
JTableHeader
的字符串表示形式
-
getAccessibleContext
获取与此JTableHeader关联的AccessibleContext。对于JTableHeaders,AccessibleContext采用AccessibleJTableHeader的形式。如有必要,将创建一个新的AccessibleJTableHeader实例。- 指定者:
-
getAccessibleContext
在接口Accessible
- 覆盖:
-
getAccessibleContext
在类Component
- 返回:
- 作为此JTableHeader的AccessibleContext的AccessibleJTableHeader
-