- 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
标头的JTable
。警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans
软件包中添加了对所有JavaBeansjava.beans
长期存储的支持。 请参阅XMLEncoder
。- 另请参见:
-
JTable
, Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected class
JTableHeader.AccessibleJTableHeader
此类实现JTableHeader
类的可访问性支持。-
嵌套类/接口声明在类 javax.swing.JComponent
JComponent.AccessibleJComponent
-
嵌套类/接口声明在类 java.awt.Container
Container.AccessibleAWTContainer
-
-
字段汇总
字段 变量和类型 字段 描述 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开始已过时。-
声明的属性在类 javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
声明的属性在类 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
-
-
构造方法摘要
构造方法 构造器 描述 JTableHeader()
构造一个JTableHeader
,默认TableColumnModel
。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()
返回当不使用的默认渲染headerRenderer
被规定TableColumn
。TableColumn
getDraggedColumn()
当且仅当拖动正在进行时返回拖动的列,否则返回null
。int
getDraggedDistance()
当且仅当拖动正在进行时,返回列与其原始位置的水平距离。Rectangle
getHeaderRect(int column)
返回包含标题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)已经改变。-
声明方法的类 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, 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
-
声明方法的类 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
-
声明方法的类 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, 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, 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
-
-
-
-
字段详细信息
-
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;否则为false。 否则是假的 - 另请参见:
-
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
。 当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
-
-