Module java.desktop

Class JTableHeader

所有已实现的接口:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, TableColumnModelListener

public class JTableHeader extends JComponent implements TableColumnModelListener, Accessible
这是管理JTable头部的对象。

警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4版本开始,已经向java.beans包添加了对所有JavaBeans进行长期存储的支持。请参阅XMLEncoder

参见:
  • Field Details

    • 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
      列被拖动时距离其原始位置的距离。
  • Constructor Details

    • JTableHeader

      public JTableHeader()
      使用默认TableColumnModel构造一个JTableHeader
      参见:
    • JTableHeader

      public JTableHeader(TableColumnModel cm)
      使用cm作为列模型初始化一个JTableHeader。如果cmnull,此方法将使用默认TableColumnModel初始化表头。
      参数:
      cm - 表格的列模型
      参见:
  • Method Details

    • 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 - 如果表视图应允许重新排序,则为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

      public TableColumn getDraggedColumn()
      返回正在拖动的列,仅当拖动正在进行时,否则返回null
      返回:
      如果拖动正在进行,则返回正在拖动的列,否则返回null
      参见:
    • getDraggedDistance

      public int getDraggedDistance()
      返回正在拖动的列的水平距离,仅当拖动正在进行时。否则,返回值是无意义的。
      返回:
      如果拖动正在进行,则返回正在拖动的列的水平距离,否则返回值是无意义的
      参见:
    • getResizingColumn

      public TableColumn 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

      public void setDefaultRenderer(TableCellRenderer defaultRenderer)
      当没有TableColumn定义headerRenderer时,设置要使用的默认渲染器。
      参数:
      defaultRenderer - 默认渲染器
      自1.3起:
      1.3
    • getDefaultRenderer

      public TableCellRenderer getDefaultRenderer()
      返回当没有TableColumn定义headerRenderer时使用的默认渲染器。
      返回:
      默认渲染器
      自1.3起:
      1.3
    • columnAtPoint

      public int columnAtPoint(Point point)
      返回point所在列的索引,如果超出边界则返回-1。
      参数:
      point - 如果这个point位于列内,则返回该列的索引;否则超出边界,返回-1
      返回:
      返回point所在列的索引,如果超出边界则返回-1
    • getHeaderRect

      public Rectangle getHeaderRect(int column)
      返回包含column处的表头瓷砖的矩形。当column参数超出边界时,此方法使用与JTable方法getCellRect相同的约定。
      参数:
      column - 列的索引
      返回:
      包含column处的表头瓷砖的矩形
      参见:
    • getToolTipText

      public String getToolTipText(MouseEvent event)
      如果设置了文本,则允许使用渲染器的提示。
      覆盖:
      getToolTipText 在类 JComponent
      参数:
      event - 事件的位置标识正确的渲染器和因此正确的提示
      返回:
      此组件的工具提示
    • getPreferredSize

      public Dimension getPreferredSize()
      返回表头的首选大小。这是显示表头并为视口请求的大小。返回的Dimension width将始终由底层TableHeaderUI计算,而不管JComponent.setPreferredSize(java.awt.Dimension)指定的任何宽度。
      覆盖:
      getPreferredSize 在类 JComponent
      返回:
      大小
      参见:
    • getUI

      public TableHeaderUI getUI()
      返回渲染此组件的外观(L&F)对象。
      覆盖:
      getUI 在类 JComponent
      返回:
      渲染此组件的TableHeaderUI对象
    • setUI

      public void setUI(TableHeaderUI ui)
      设置渲染此组件的外观(L&F)对象。
      参数:
      ui - TableHeaderUI L&F对象
      参见:
    • updateUI

      public void updateUI()
      UIManager接收外观(L&F)已更改的通知。用最新版本从UIManager替换当前UI对象。
      覆盖:
      updateUI 在类 JComponent
      参见:
    • getUIClassID

      public String 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 - 如果newModelnull
      参见:
    • getColumnModel

      public TableColumnModel getColumnModel()
      返回包含此表头所有列信息的TableColumnModel
      返回:
      columnModel属性
      参见:
    • columnAdded

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

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

      指定者:
      columnAdded 在接口 TableColumnModelListener
      参数:
      e - 收到的事件
      参见:
    • columnRemoved

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

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

      指定者:
      columnRemoved 在接口 TableColumnModelListener
      参数:
      e - 收到的事件
      参见:
    • columnMoved

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

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

      指定者:
      columnMoved 在接口 TableColumnModelListener
      参数:
      e - 收到的事件
      参见:
    • columnMarginChanged

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

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

      指定者:
      columnMarginChanged 在接口 TableColumnModelListener
      参数:
      e - 收到的事件
      参见:
    • columnSelectionChanged

      public void columnSelectionChanged(ListSelectionEvent e)
      TableColumnModel的选择模型更改时调用。此方法目前不起作用(表头不会重绘)。

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

      指定者:
      columnSelectionChanged 在接口 TableColumnModelListener
      参数:
      e - 收到的事件
      参见:
    • createDefaultColumnModel

      protected TableColumnModel createDefaultColumnModel()
      返回默认列模型对象,它是一个DefaultTableColumnModel。子类可以覆盖此方法以返回不同的列模型对象
      返回:
      默认列模型对象
    • createDefaultRenderer

      protected TableCellRenderer createDefaultRenderer()
      返回在TableColumn未定义headerRenderer时使用的默认渲染器。
      返回:
      默认的表格列渲染器
      自从:
      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的字符串表示形式。此方法仅用于调试目的,返回的字符串的内容和格式可能因实现而异。返回的字符串可能为空但不能为null

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

      覆盖:
      paramString 在类 JComponent
      返回:
      JTableHeader的字符串表示形式
    • getAccessibleContext

      public AccessibleContext getAccessibleContext()
      获取与此JTableHeader关联的AccessibleContext。对于JTableHeaders,AccessibleContext采用AccessibleJTableHeader的形式。如有必要,将创建一个新的AccessibleJTableHeader实例。
      指定者:
      getAccessibleContext 在接口 Accessible
      覆盖:
      getAccessibleContext 在类 Component
      返回:
      作为此JTableHeader的AccessibleContext的AccessibleJTableHeader