- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.table.JTableHeader
-
- All Implemented Interfaces:
-
ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,TableColumnModelListener
public class JTableHeader extends JComponent implements TableColumnModelListener, Accessible
这是管理JTable
标题的JTable
。警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,对所有JavaBeans的长期存储的支持已被添加到
java.beans
包中。 请参阅XMLEncoder
。- 另请参见:
-
JTable
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected class
JTableHeader.AccessibleJTableHeader
这个类实现JTableHeader
类的可访问性支持。-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field 描述 protected TableColumnModel
columnModel
表头的TableColumnModel
。protected TableColumn
draggedColumn
正在拖动列的索引。protected int
draggedDistance
与其原始位置的距离,列已被拖动。protected boolean
reorderingAllowed
如果为true,用户可以重新排列列; 默认值为true。protected boolean
resizingAllowed
如果为true,则用户可以允许调整列大小; 默认值为true。protected TableColumn
resizingColumn
列的索引已调整大小。protected JTable
table
这个对象是头的表; 默认为null
。protected boolean
updateTableInRealTime
作为Java 2平台v1.3的过时。-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
构造方法摘要
构造方法 Constructor 描述 JTableHeader()
构造一个JTableHeader
,默认为TableColumnModel
。JTableHeader(TableColumnModel cm)
构造一个JTableHeader
,它以cm
作为列模型初始化。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
columnAdded(TableColumnModelEvent e)
当列添加到表列模型时调用。int
columnAtPoint(Point point)
返回point
所在列的索引,如果它位于边界之外,则返回-1。void
columnMarginChanged(ChangeEvent e)
当列由于边距更改而移动时调用。void
columnMoved(TableColumnModelEvent e)
当列重新定位时调用。void
columnRemoved(TableColumnModelEvent e)
从列列模型中删除列时调用。void
columnSelectionChanged(ListSelectionEvent e)
当更改TableColumnModel
的选择模型时调用。protected TableColumnModel
createDefaultColumnModel()
返回默认列模型对象,它是一个DefaultTableColumnModel
。protected TableCellRenderer
createDefaultRenderer()
返回在TableColumn
未定义标题渲染器时使用的默认渲染器。AccessibleContext
getAccessibleContext()
获取与此JTableHeader关联的AccessibleContext。TableColumnModel
getColumnModel()
返回包含此表头的所有列信息的TableColumnModel
。TableCellRenderer
getDefaultRenderer()
返回当headerRenderer
由TableColumn
定义时使用的默认渲染器。TableColumn
getDraggedColumn()
返回拖动列,当且仅当拖动正在进行时,否则返回null
。int
getDraggedDistance()
返回列的水平距离与其原始位置,当且仅当拖动正在进行时。Rectangle
getHeaderRect(int column)
返回包含标题图块的矩形为column
。Dimension
getPreferredSize()
返回表头的首选大小。boolean
getReorderingAllowed()
如果允许用户通过拖动其头来重新排列列,则返回true,否则返回false。boolean
getResizingAllowed()
如果允许用户通过在其标题之间拖动来调整列大小,则返回true,否则返回false。TableColumn
getResizingColumn()
返回调整大小列。JTable
getTable()
返回与此标题关联的表。String
getToolTipText(MouseEvent event)
允许渲染器的提示被使用,如果有文本集。TableHeaderUI
getUI()
返回渲染此组件的外观和感觉(L&F)对象。String
getUIClassID()
返回用于构造用于渲染此组件的外观(L&F)类的名称的后缀。boolean
getUpdateTableInRealTime()
作为Java 2平台v1.3的过时。protected void
initializeLocalVars()
使用默认值初始化局部变量和属性。protected String
paramString()
返回此JTableHeader
的字符串表示JTableHeader
。void
resizeAndRepaint()
标题的大小并将其标记为需要显示。void
setColumnModel(TableColumnModel columnModel)
将此表的列模型设置为newModel
并从新列模型注册用于侦听器通知。void
setDefaultRenderer(TableCellRenderer defaultRenderer)
设置时,没有被使用的默认渲染headerRenderer
被规定TableColumn
。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
setTable(JTable table)
设置与此标题关联的表。void
setUI(TableHeaderUI ui)
设置渲染此组件的外观和感觉(L&F)对象。void
setUpdateTableInRealTime(boolean flag)
作为Java 2平台v1.3的过时。void
updateUI()
通知从UIManager
的外观和感觉(L&F)已经改变。-
Methods inherited from 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, 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
-
Methods inherited from 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 inherited from class javax.swing.JComponent
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
-
-
-
-
字段详细信息
-
table
protected JTable table
这个对象是头的表; 默认为null
。
-
columnModel
protected TableColumnModel columnModel
表头的TableColumnModel
。
-
reorderingAllowed
protected boolean reorderingAllowed
如果为true,用户可以重新排列列; 默认值为true。
-
resizingAllowed
protected boolean resizingAllowed
如果为true,则用户可以允许调整列大小; 默认值为true。
-
updateTableInRealTime
protected boolean updateTableInRealTime
作为Java 2平台v1.3的过时。 响应列拖动或调整大小,实时重绘现在是无条件的。
-
resizingColumn
protected transient TableColumn resizingColumn
列的索引已调整大小。null
如果不调整大小。
-
draggedColumn
protected transient TableColumn draggedColumn
正在拖动列的索引。null
如果不拖动。
-
draggedDistance
protected transient int draggedDistance
与其原始位置的距离,列已被拖动。
-
-
构造方法详细信息
-
JTableHeader
public JTableHeader()
构造一个JTableHeader
,默认为TableColumnModel
。
-
JTableHeader
public JTableHeader(TableColumnModel cm)
构造一个JTableHeader
,它以cm
作为列模型初始化。 如果cm
为null
此方法将初始化默认TableColumnModel
的表头。- 参数
-
cm
- 表格的列模型 - 另请参见:
-
createDefaultColumnModel()
-
-
方法详细信息
-
setTable
@BeanProperty(description="The table associated with this header.") public void setTable(JTable table)
设置与此标题关联的表。- 参数
-
table
- 新表
-
getTable
public JTable getTable()
返回与此标题关联的表。- 结果
-
table
属性
-
setReorderingAllowed
@BeanProperty(description="Whether the user can drag column headers to reorder columns.") public void setReorderingAllowed(boolean reorderingAllowed)
设置用户是否可以拖动列标题来重新排列列。- 参数
-
reorderingAllowed
- 如果表视图应该允许重新排序,reorderingAllowed
true; 否则为虚假 - 另请参见:
-
getReorderingAllowed()
-
getReorderingAllowed
public boolean getReorderingAllowed()
如果允许用户通过拖动其头来重新排列列,则返回true,否则返回false。 默认值为true。 无论此设置如何,都可以以编程方式重新排列列。- 结果
-
reorderingAllowed
属性 - 另请参见:
-
setReorderingAllowed(boolean)
-
setResizingAllowed
@BeanProperty(description="Whether the user can resize columns by dragging between headers.") public void setResizingAllowed(boolean resizingAllowed)
设置用户是否可以通过在标题之间拖动来调整列的大小。- 参数
-
resizingAllowed
- 如果表视图允许调整大小,resizingAllowed
true - 另请参见:
-
getResizingAllowed()
-
getResizingAllowed
public boolean getResizingAllowed()
如果允许用户通过在其标题之间拖动来调整列大小,则返回true,否则返回false。 默认值为true。 无论此设置如何,都可以以编程方式调整列大小。- 结果
-
resizingAllowed
属性 - 另请参见:
-
setResizingAllowed(boolean)
-
getDraggedColumn
public TableColumn getDraggedColumn()
返回拖动的列,当且仅当拖动正在进行时,否则返回null
。- 结果
-
拖动列,如果拖动正在进行,否则返回
null
- 另请参见:
-
getDraggedDistance()
-
getDraggedDistance
public int getDraggedDistance()
返回列的水平距离与其原始位置,当且仅当拖动正在进行时。 否则,返回值是无意义的。- 结果
- 列的水平距离与其原始位置,如果拖动正在进行,否则返回值是无意义的
- 另请参见:
-
getDraggedColumn()
-
getResizingColumn
public TableColumn getResizingColumn()
返回调整大小列。 如果没有调整列大小,此方法返回null
。- 结果
-
调整大小列,如果调整大小正在进行,否则返回
null
-
setUpdateTableInRealTime
public void setUpdateTableInRealTime(boolean flag)
作为Java 2平台v1.3的过时。 响应列拖动或调整大小,实时重绘现在是无条件的。- 参数
-
flag
- 如果tableView应该实时更新表的正文,flag
true
-
getUpdateTableInRealTime
public boolean getUpdateTableInRealTime()
作为Java 2平台v1.3的过时。 响应列拖动或调整大小,实时重绘现在是无条件的。- 结果
- 如果表实时更新,则为true
-
setDefaultRenderer
public void setDefaultRenderer(TableCellRenderer defaultRenderer)
设置当headerRenderer
由TableColumn
定义时要使用的默认渲染器。- 参数
-
defaultRenderer
- 默认渲染器 - 从以下版本开始:
- 1.3
-
getDefaultRenderer
public TableCellRenderer getDefaultRenderer()
返回当headerRenderer
由TableColumn
定义时使用的默认渲染器。- 结果
- 默认渲染器
- 从以下版本开始:
- 1.3
-
columnAtPoint
public int columnAtPoint(Point point)
返回point
所在列的索引,如果它位于边界之外,则返回-1。- 参数
-
point
- 如果这个point
位于列中,那么该列的索引将被返回; 否则是超出范围,-1返回 - 结果
-
point
所在列的索引,如果它位于边界之外,point
-1
-
getHeaderRect
public Rectangle getHeaderRect(int column)
返回包含标题图块的矩形为column
。 当column
参数超出范围时,此方法使用与JTable
方法getCellRect
相同的约定。- 参数
-
column
- 列的索引 - 结果
-
包含标题图块的矩形为
column
- 另请参见:
-
JTable.getCellRect(int, int, boolean)
-
getToolTipText
public String getToolTipText(MouseEvent event)
允许渲染器的提示被使用,如果有文本集。- 重写:
-
getToolTipText
在JComponent
- 参数
-
event
- 事件的位置标识正确的渲染器,因此标识正确的提示 - 结果
- 该组件的工具提示
-
getPreferredSize
public Dimension getPreferredSize()
返回表头的首选大小。 这是显示标题并为视口请求的大小。 返回的Dimension
width
将始终由底层width
计算,无论JComponent.setPreferredSize(java.awt.Dimension)
指定的任何宽度- 重写:
-
getPreferredSize
在JComponent
- 结果
- 尺寸
- 另请参见:
-
JComponent.setPreferredSize(java.awt.Dimension)
,ComponentUI
-
getUI
public TableHeaderUI getUI()
返回渲染此组件的外观和感觉(L&F)对象。- 重写:
-
getUI
在JComponent
- 结果
-
呈现此组件的
TableHeaderUI
对象
-
setUI
public void setUI(TableHeaderUI ui)
设置渲染此组件的外观和感觉(L&F)对象。- 参数
-
ui
-TableHeaderUI
L&F对象 - 另请参见:
-
UIDefaults.getUI(javax.swing.JComponent)
-
updateUI
public void updateUI()
通知从UIManager
的外观和感觉(L&F)已经改变。 从UIManager
替换最新版本的当前UI对象。- 重写:
-
updateUI
在JComponent
- 另请参见:
-
JComponent.updateUI()
-
getUIClassID
public String getUIClassID()
返回用于构造用于渲染此组件的外观(L&F)类的名称的后缀。- 重写:
-
getUIClassID
在JComponent
- 结果
- 字符串“TableHeaderUI”
- 另请参见:
-
JComponent.getUIClassID()
,UIDefaults.getUI(javax.swing.JComponent)
-
setColumnModel
@BeanProperty(description="The object governing the way columns appear in the view.") public void setColumnModel(TableColumnModel columnModel)
将此表的列模型设置为newModel
并从新列模型注册侦听器通知。- 参数
-
columnModel
- 此表的新数据源 - 异常
-
IllegalArgumentException
- 如果newModel
是null
- 另请参见:
-
getColumnModel()
-
getColumnModel
public TableColumnModel getColumnModel()
返回包含此表头的所有列信息的TableColumnModel
。- 结果
-
columnModel
属性 - 另请参见:
-
setColumnModel(javax.swing.table.TableColumnModel)
-
columnAdded
public void columnAdded(TableColumnModelEvent e)
当列添加到表列模型时调用。应用程序代码不会明确使用这些方法,它们由内部使用
JTable
。- Specified by:
-
columnAdded
在接口TableColumnModelListener
- 参数
-
e
- 收到的事件 - 另请参见:
-
TableColumnModelListener
-
columnRemoved
public void columnRemoved(TableColumnModelEvent e)
从列列模型中删除列时调用。应用程序代码不会明确使用这些方法,它们由内部使用
JTable
。- Specified by:
-
columnRemoved
在接口TableColumnModelListener
- 参数
-
e
- 收到的事件 - 另请参见:
-
TableColumnModelListener
-
columnMoved
public void columnMoved(TableColumnModelEvent e)
当列重新定位时调用。应用程序代码不会明确使用这些方法,它们由内部使用
JTable
。- Specified by:
-
columnMoved
在接口TableColumnModelListener
- 参数
-
e
- 收到的事件 - 另请参见:
-
TableColumnModelListener
-
columnMarginChanged
public void columnMarginChanged(ChangeEvent e)
当列由于边距更改而移动时调用。应用程序代码不会明确使用这些方法,它们由内部使用
JTable
。- Specified by:
-
columnMarginChanged
在接口TableColumnModelListener
- 参数
-
e
- 收到的事件 - 另请参见:
-
TableColumnModelListener
-
columnSelectionChanged
public void columnSelectionChanged(ListSelectionEvent e)
当TableColumnModel
的选择模型更改时调用。 此方法当前没有任何效果(标题未重绘)。应用代码不会明确使用这些方法,它们由内部使用
JTable
。- Specified by:
-
columnSelectionChanged
在接口TableColumnModelListener
- 参数
-
e
- 收到的事件 - 另请参见:
-
TableColumnModelListener
-
createDefaultColumnModel
protected TableColumnModel createDefaultColumnModel()
返回默认列模型对象,它是一个DefaultTableColumnModel
。 子类可以覆盖此方法以返回不同的列模型对象- 结果
- 默认列模型对象
-
createDefaultRenderer
protected TableCellRenderer createDefaultRenderer()
返回在TableColumn
未定义标题渲染器时使用的默认渲染器。- 结果
- 默认表列渲染器
- 从以下版本开始:
- 1.3
-
initializeLocalVars
protected void initializeLocalVars()
使用默认值初始化局部变量和属性。 由构造方法使用。
-
resizeAndRepaint
public void resizeAndRepaint()
标题的大小并将其标记为需要显示。 相当于revalidate
其次是repaint
。
-
setDraggedColumn
public void setDraggedColumn(TableColumn aColumn)
将标题的draggedColumn
设置为aColumn
。应用程序代码不会明确使用这个方法,它是由列拖动机制内部使用的。
- 参数
-
aColumn
- 正在拖动的列,如果没有列被拖动,null
-
setDraggedDistance
public void setDraggedDistance(int distance)
将标题的draggedDistance
设置为distance
。- 参数
-
distance
- 拖动的距离
-
setResizingColumn
public void setResizingColumn(TableColumn aColumn)
将标题的resizingColumn
设置为aColumn
。应用程序代码不会明确使用此方法,它由列大小调整机制内部使用。
- 参数
-
aColumn
- 正在调整列大小,如果没有调整列大小,null
-
paramString
protected String paramString()
返回此JTableHeader
的字符串表示JTableHeader
。 该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
。覆盖
paramString
以提供有关JFC组件特定新方面的信息。- 重写:
-
paramString
在JComponent
- 结果
-
这个
JTableHeader
的字符串表示JTableHeader
-
getAccessibleContext
public AccessibleContext getAccessibleContext()
获取与此JTableHeader关联的AccessibleContext。 对于JTableHeaders,AccessibleContext采用AccessibleJTableHeader的形式。 如有必要,将创建一个新的AccessibleJTableHeader实例。- Specified by:
-
getAccessibleContext
在接口Accessible
- 重写:
-
getAccessibleContext
在Component
- 结果
- 一个AccessibleJTableHeader,用作这个JTableHeader的AccessibleContext
-
-