模块 java.desktop

类 TableView

所有已实现的接口:
SwingConstants

public abstract class TableView extends BoxView

实现表的视图接口,该表由一个元素结构组成,该视图负责表示行的元素的子元素,行元素的子元素是单元格。单元格元素可以在其下具有任意元素结构,这些结构将使用 getViewFactory 方法返回的 ViewFactory 构建。

   TABLE
    ROW
     CELL
     CELL
    ROW
     CELL
     CELL

 

这是作为框的层次结构实现的,表格本身是一个垂直框,行是水平框,单元格是垂直框。允许单元格跨越多个列和行。默认情况下,表格可以被认为是在网格上形成的(即有点像网格包布局中的表格),其中表格单元格可以请求跨越多个网格单元格。表格单元格的默认水平跨度将基于此网格,但可以通过重新实现请求的单元格跨度来更改(即,如果需要,表格单元格可以具有独立的跨度)。

参见:
  • 构造方法详细信息

    • TableView

      public TableView(Element  elem)
      为给定元素构造一个 TableView。
      参数:
      elem - 此视图负责的元素
  • 方法详情

    • createTableRow

      protected TableView.TableRow  createTableRow(Element  elem)
      创建一个新的表行。
      参数:
      elem - 一个元素
      返回:
      该行
    • createTableCell

      @Deprecated protected TableView.TableCell  createTableCell(Element  elem)
      已弃用。
      表格单元格现在可以是任意视图实现,并且应该由 ViewFactory 而不是表格生成。
      参数:
      elem - 一个元素
      返回:
      单元格
    • replace

      public void replace(int offset, int length, View [] views)
      更改子视图。这是为了提供超类行为并使网格无效,以便重新计算行和列。
      重写:
      replace 在类 BoxView
      参数:
      offset - 插入新视图的子视图的起始索引;这应该是一个值 >= 0 且 <= getViewCount
      length - 要删除的现有子视图的数量;这应该是一个值 >= 0 且 <= (getViewCount() - offset)
      views - 要添加的子视图;此值可以是 null 以指示未添加任何子项(对于删除很有用)
    • layoutColumns

      protected void layoutColumns(int targetSpan, int[] offsets, int[] spans, SizeRequirements [] reqs)
      布置列以适应给定的目标范围。通过 offsetsspans 返回结果。
      参数:
      targetSpan - 所有表列总数的给定跨度
      offsets - 每列从原点偏移的返回值
      spans - 分配给每列多少的返回值
      reqs - 每列所需的要求。这是单元格最小、首选和最大请求跨度的列最大值
    • layoutMinorAxis

      protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
      对盒子的短轴进行布局(即垂直于它所代表的轴的轴)。布局的结果应放置在给定的数组中,这些数组表示沿短轴分配给子项的数组。每当需要沿短轴更新布局时,超类就会调用它。

      这是为了调用 layoutColumns 方法而实现的,然后转发到超类以实际执行表格行的布局。

      重写:
      layoutMinorAxis 在类 BoxView
      参数:
      targetSpan - 给视图的总跨度,将用于布局子视图。
      axis - 正在布置的轴。
      offsets - 每个子视图距视图原点的偏移量。这是一个返回值,由该方法的实现填充。
      spans - 每个子视图的跨度。这是一个返回值,由该方法的实现填充。
    • calculateMinorAxisRequirements

      protected SizeRequirements  calculateMinorAxisRequirements(int axis, SizeRequirements  r)
      计算短轴的要求。每当需要更新需求时,超类就会调用它(即通过此视图发送 preferenceChanged 消息)。

      这是为了将需求计算为列需求的总和。

      重写:
      calculateMinorAxisRequirements 在类 BoxView
      参数:
      axis - 正在研究的轴
      r - SizeRequirements 对象;如果 null 将被创建
      返回:
      新初始化的 SizeRequirements 对象
      参见:
    • getViewAtPosition

      protected View  getViewAtPosition(int pos, Rectangle  a)
      获取表示模型中给定位置的子视图。这是为了遍历子级寻找包含给定位置的范围。在此视图中,子项不一定与子元素具有一对一的映射。
      重写:
      getViewAtPosition 在类 CompositeView
      参数:
      pos - 搜索位置 >= 0
      a - 入口时对表的分配,以及出口时包含该位置的视图的分配
      返回:
      表示给定位置的视图,如果没有,则为 null