- 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 classJTableHeader.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 TableColumnModelcolumnModel表头的TableColumnModel。protected TableColumndraggedColumn正在拖动列的索引。protected intdraggedDistance与其原始位置的距离,列已被拖动。protected booleanreorderingAllowed如果为true,用户可以重新排列列; 默认值为true。protected booleanresizingAllowed如果为true,则用户可以允许调整列大小; 默认值为true。protected TableColumnresizingColumn列的索引已调整大小。protected JTabletable这个对象是头的表; 默认为null。protected booleanupdateTableInRealTime作为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 方法 描述 voidcolumnAdded(TableColumnModelEvent e)当列添加到表列模型时调用。intcolumnAtPoint(Point point)返回point所在列的索引,如果它位于边界之外,则返回-1。voidcolumnMarginChanged(ChangeEvent e)当列由于边距更改而移动时调用。voidcolumnMoved(TableColumnModelEvent e)当列重新定位时调用。voidcolumnRemoved(TableColumnModelEvent e)从列列模型中删除列时调用。voidcolumnSelectionChanged(ListSelectionEvent e)当更改TableColumnModel的选择模型时调用。protected TableColumnModelcreateDefaultColumnModel()返回默认列模型对象,它是一个DefaultTableColumnModel。protected TableCellRenderercreateDefaultRenderer()返回在TableColumn未定义标题渲染器时使用的默认渲染器。AccessibleContextgetAccessibleContext()获取与此JTableHeader关联的AccessibleContext。TableColumnModelgetColumnModel()返回包含此表头的所有列信息的TableColumnModel。TableCellRenderergetDefaultRenderer()返回当headerRenderer由TableColumn定义时使用的默认渲染器。TableColumngetDraggedColumn()返回拖动列,当且仅当拖动正在进行时,否则返回null。intgetDraggedDistance()返回列的水平距离与其原始位置,当且仅当拖动正在进行时。RectanglegetHeaderRect(int column)返回包含标题图块的矩形为column。DimensiongetPreferredSize()返回表头的首选大小。booleangetReorderingAllowed()如果允许用户通过拖动其头来重新排列列,则返回true,否则返回false。booleangetResizingAllowed()如果允许用户通过在其标题之间拖动来调整列大小,则返回true,否则返回false。TableColumngetResizingColumn()返回调整大小列。JTablegetTable()返回与此标题关联的表。StringgetToolTipText(MouseEvent event)允许渲染器的提示被使用,如果有文本集。TableHeaderUIgetUI()返回渲染此组件的外观和感觉(L&F)对象。StringgetUIClassID()返回用于构造用于渲染此组件的外观(L&F)类的名称的后缀。booleangetUpdateTableInRealTime()作为Java 2平台v1.3的过时。protected voidinitializeLocalVars()使用默认值初始化局部变量和属性。protected StringparamString()返回此JTableHeader的字符串表示JTableHeader。voidresizeAndRepaint()标题的大小并将其标记为需要显示。voidsetColumnModel(TableColumnModel columnModel)将此表的列模型设置为newModel并从新列模型注册用于侦听器通知。voidsetDefaultRenderer(TableCellRenderer defaultRenderer)设置时,没有被使用的默认渲染headerRenderer被规定TableColumn。voidsetDraggedColumn(TableColumn aColumn)将标题的draggedColumn设置为aColumn。voidsetDraggedDistance(int distance)将标题的draggedDistance设置为distance。voidsetReorderingAllowed(boolean reorderingAllowed)设置用户是否可以拖动列标题来重新排列列。voidsetResizingAllowed(boolean resizingAllowed)设置用户是否可以通过在标题之间拖动来调整列的大小。voidsetResizingColumn(TableColumn aColumn)将标题的resizingColumn设置为aColumn。voidsetTable(JTable table)设置与此标题关联的表。voidsetUI(TableHeaderUI ui)设置渲染此组件的外观和感觉(L&F)对象。voidsetUpdateTableInRealTime(boolean flag)作为Java 2平台v1.3的过时。voidupdateUI()通知从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- 如果表视图应该允许重新排序,reorderingAllowedtrue; 否则为虚假 - 另请参见:
-
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- 如果表视图允许调整大小,resizingAllowedtrue - 另请参见:
-
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应该实时更新表的正文,flagtrue
-
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()
返回表头的首选大小。 这是显示标题并为视口请求的大小。 返回的Dimensionwidth将始终由底层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-TableHeaderUIL&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
-
-