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
Nested ClassesModifier and TypeClassDescriptionprotected class该类为JTableHeader类实现了辅助功能支持。Nested classes/interfaces declared in class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces declared in class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier 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_WINDOWFields declared in class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescription使用默认TableColumnModel构造一个JTableHeader。使用cm作为列模型初始化一个JTableHeader。 -
Method Summary
Modifier and TypeMethodDescriptionvoid当列添加到表格列模型时调用。intcolumnAtPoint(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调整表头大小并标记为需要显示。voidsetColumnModel(TableColumnModel columnModel) 为此表格设置列模型为newModel,并从新列模型注册监听器通知。voidsetDefaultRenderer(TableCellRenderer defaultRenderer) 当未定义headerRenderer时,设置默认渲染器。voidsetDraggedColumn(TableColumn aColumn) 将表头的draggedColumn设置为aColumn。voidsetDraggedDistance(int distance) 将表头的draggedDistance设置为distance。voidsetReorderingAllowed(boolean reorderingAllowed) 设置用户是否可以拖动列头以重新排序列。voidsetResizingAllowed(boolean resizingAllowed) 设置用户是否可以通过拖动表头调整列大小。voidsetResizingColumn(TableColumn aColumn) 将表头的resizingColumn设置为aColumn。void设置与此头部关联的表格。voidsetUI(TableHeaderUI ui) 设置渲染此组件的外观(L&F)对象。voidsetUpdateTableInRealTime(boolean flag) 自Java 2平台v1.3起已过时。voidupdateUI()来自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, updateMethods 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, validateTreeMethods 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
返回表头的首选大小。这是显示表头并为视口请求的大小。返回的Dimensionwidth将始终由底层TableHeaderUI计算,而不管JComponent.setPreferredSize(java.awt.Dimension)指定的任何宽度。- 覆盖:
-
getPreferredSize在类JComponent中 - 返回:
- 大小
- 参见:
-
getUI
返回渲染此组件的外观(L&F)对象。- 覆盖:
-
getUI在类JComponent中 - 返回:
-
渲染此组件的
TableHeaderUI对象
-
setUI
设置渲染此组件的外观(L&F)对象。- 参数:
-
ui-TableHeaderUIL&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
-