JavaTM 2 Platform
Standard Ed. 5.0

javax.swing.table
类 JTableHeader

java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.Container
          继承者 javax.swing.JComponent
              继承者 javax.swing.table.JTableHeader
所有已实现的接口:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, TableColumnModelListener

public class JTableHeader
extends JComponent
implements TableColumnModelListener, Accessible

这是管理 JTable 的头的对象。

警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前的序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder

另请参见:
JTable

嵌套类摘要
protected  class JTableHeader.AccessibleJTableHeader
          此类实现对 JTableHeader 类的可访问性支持。
 
从类 javax.swing.JComponent 继承的嵌套类/接口
JComponent.AccessibleJComponent
 
从类 java.awt.Container 继承的嵌套类/接口
Container.AccessibleAWTContainer
 
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
字段摘要
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 platform v1.3 开始已过时。
 
从类 javax.swing.JComponent 继承的字段
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
从类 java.awt.Component 继承的字段
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
从接口 java.awt.image.ImageObserver 继承的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
构造方法摘要
JTableHeader()
          构造具有默认 TableColumnModelJTableHeader
JTableHeader(TableColumnModel cm)
          构造 JTableHeader,使用 cm 作为列模型对其进行初始化。
 
方法摘要
 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()
          返回 TableColumn 未定义 headerRenderer 时所使用的默认渲染器。
 TableColumn getDraggedColumn()
          当且仅当正在进行拖动时,返回被拖动的列,否则返回 null
 int getDraggedDistance()
          当且仅当正在进行拖动时,返回该列到其初始位置的水平距离。
 Rectangle getHeaderRect(int column)
          返回包含 column 处头 tile 的矩形。
 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 platform v1.3 开始已过时。
protected  void initializeLocalVars()
          使用默认值初始化局部变量和属性。
protected  String paramString()
          返回此 JTableHeader 的字符串表示形式。
 void resizeAndRepaint()
          确定头的大小并将其标记为需要显示。
 void setColumnModel(TableColumnModel columnModel)
          将此表的列模型设置为 newModel,并向侦听器注册来自新列模型的通知。
 void setDefaultRenderer(TableCellRenderer defaultRenderer)
          设置 TableColumn 未定义 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 setTable(JTable table)
          设置与此头关联的表。
 void setUI(TableHeaderUI ui)
          设置渲染此组件的 (L&F) 对象。
 void setUpdateTableInRealTime(boolean flag)
          从 Java 2 platform v1.3 开始已过时。
 void updateUI()
          UIManager 发出的关于 L&F 已更改的通知。
 
从类 javax.swing.JComponent 继承的方法
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, 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
 
从类 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, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
从类 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, 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, transferFocusUpCycle
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

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 platform v1.3 开始已过时。为响应列拖动或调整大小而进行的实时重新绘制现在是无条件的。


resizingColumn

protected transient TableColumn resizingColumn
进行大小调整的列的索引。如果未调整大小,则为 null


draggedColumn

protected transient TableColumn draggedColumn
被拖动列的索引。如果未拖动,则为 null


draggedDistance

protected transient int draggedDistance
列被拖离其初始位置的距离。

构造方法详细信息

JTableHeader

public JTableHeader()
构造具有默认 TableColumnModelJTableHeader

另请参见:
createDefaultColumnModel()

JTableHeader

public JTableHeader(TableColumnModel cm)
构造 JTableHeader,使用 cm 作为列模型对其进行初始化。如果 cmnull,则此方法将使用默认的 TableColumnModel 来初始化其表头。

参数:
cm - 该表的列模型
另请参见:
createDefaultColumnModel()
方法详细信息

setTable

public void setTable(JTable table)
设置与此头关联的表。

参数:
table - 新表

getTable

public JTable getTable()
返回与此头关联的表。

返回:
table 属性

setReorderingAllowed

public void setReorderingAllowed(boolean reorderingAllowed)
设置用户是否可以拖动列头,以重新排序各列。

参数:
reorderingAllowed - 如果表视图应该允许重新排序,则为 true;否则为 false
另请参见:
getReorderingAllowed()

getReorderingAllowed

public boolean getReorderingAllowed()
如果允许用户通过拖动各列的头对其进行重新安排,则返回 true;否则返回 false。默认值为 true。无论此设置为多少都可以通过编程方式重新安排各列。

返回:
reorderingAllowed 属性
另请参见:
setReorderingAllowed(boolean)

setResizingAllowed

public void setResizingAllowed(boolean 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 platform v1.3 开始已过时。为响应列拖动或调整大小而进行的实时重新绘制现在是无条件的。


getUpdateTableInRealTime

public boolean getUpdateTableInRealTime()
从 Java 2 platform v1.3 开始已过时。为响应列拖动或调整大小而进行的实时重新绘制现在是无条件的。


setDefaultRenderer

public void setDefaultRenderer(TableCellRenderer defaultRenderer)
设置 TableColumn 未定义 headerRenderer 时所使用的默认渲染器。

参数:
defaultRenderer - 默认渲染器

getDefaultRenderer

public TableCellRenderer getDefaultRenderer()
返回 TableColumn 未定义 headerRenderer 时所使用的默认渲染器。

返回:
默认渲染器

columnAtPoint

public int columnAtPoint(Point point)
返回该 point 所处列的索引,如果列位于边界外,则返回 -1。

返回:
point 所处列的索引,如果列位于边界外,则返回 -1

getHeaderRect

public Rectangle getHeaderRect(int column)
返回包含 column 处头 tile 的矩形。column 参数超出范围时,此方法使用与 JTablegetCellRect 方法相同的约定。

返回:
包含 column 处头 tile 的矩形
另请参见:
JTable.getCellRect(int, int, boolean)

getToolTipText

public String getToolTipText(MouseEvent event)
如果设置了提示文本,则允许使用渲染器的提示。

覆盖:
JComponent 中的 getToolTipText
参数:
event - 标识正确渲染器和正确提示的事件位置
返回:
此组件的工具提示

getUI

public TableHeaderUI getUI()
返回渲染此组件的外观 (L&F) 对象。

返回:
渲染此组件的 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 对象替换当前的 UI 对象。

覆盖:
JComponent 中的 updateUI
另请参见:
JComponent.updateUI()

getUIClassID

public String getUIClassID()
返回用于构造外观 (L&F) 类名称的后缀,该类用于渲染此组件。

覆盖:
JComponent 中的 getUIClassID
返回:
"TableHeaderUI" 字符串
另请参见:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

setColumnModel

public void setColumnModel(TableColumnModel columnModel)
将此表的列模型设置为 newModel,并向侦听器注册来自新列模型的通知。

参数:
columnModel - 此表的新数据源
抛出:
IllegalArgumentException - 如果 newModelnull
另请参见:
getColumnModel()

getColumnModel

public TableColumnModel getColumnModel()
返回包含此表头所有列信息的 TableColumnModel

返回:
columnModel 属性
另请参见:
setColumnModel(javax.swing.table.TableColumnModel)

columnAdded

public void columnAdded(TableColumnModelEvent e)
将列添加到表列模型时调用。

应用程序代码不显式地使用这些方法,它们由 JTable 在内部使用。

指定者:
接口 TableColumnModelListener 中的 columnAdded
参数:
e - 接收到的事件
另请参见:
TableColumnModelListener

columnRemoved

public void columnRemoved(TableColumnModelEvent e)
从表列模型中移除列时调用。

应用程序代码不显式地使用这些方法,它们由 JTable 在内部使用。

指定者:
接口 TableColumnModelListener 中的 columnRemoved
参数:
e - 接收到的事件
另请参见:
TableColumnModelListener

columnMoved

public void columnMoved(TableColumnModelEvent e)
重新定位列时调用。

应用程序代码不显式地使用这些方法,它们由 JTable 在内部使用。

指定者:
接口 TableColumnModelListener 中的 columnMoved
参数:
e - 接收到的事件
另请参见:
TableColumnModelListener

columnMarginChanged

public void columnMarginChanged(ChangeEvent e)
当列由于间距改变而被移动时调用。

应用程序代码不显式地使用这些方法,它们由 JTable 在内部使用。

指定者:
接口 TableColumnModelListener 中的 columnMarginChanged
参数:
e - 接收到的事件
另请参见:
TableColumnModelListener

columnSelectionChanged

public void columnSelectionChanged(ListSelectionEvent e)
TableColumnModel 的选择模型更改时调用。此方法当前无效(不重绘头)。

应用程序代码不显式地使用这些方法,它们由 JTable 在内部使用。

指定者:
接口 TableColumnModelListener 中的 columnSelectionChanged
参数:
e - 接收到的事件
另请参见:
TableColumnModelListener

createDefaultColumnModel

protected TableColumnModel createDefaultColumnModel()
返回默认的列模型对象,它是 DefaultTableColumnModel。子类可以重写此方法,以返回不同的列模型对象。

返回:
默认的列模型对象

createDefaultRenderer

protected TableCellRenderer createDefaultRenderer()
返回 TableColumn 未定义头渲染器时所使用的默认渲染器。

返回:
默认的表列渲染器

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 的字符串表示形式。此方法仅在进行调试的时候使用,对于各个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null

重写 paramString 以提供有关特定的新的 JFC 组件方面的信息。

覆盖:
JComponent 中的 paramString
返回:
JTableHeader 的字符串表示形式

getAccessibleContext

public AccessibleContext getAccessibleContext()
获取与此 JTableHeader 关联的 AccessibleContext。对于 JTableHeaders,AccessibleContext 采用 AccessibleJTableHeader 的形式。如有必要,则会创建一个新的 AccessibleJTableHeader 实例。

指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
JComponent 中的 getAccessibleContext
返回:
一个 AccessibleJTableHeader,用作此 JTableHeader 的 AccessibleContext

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策