Module java.desktop
Package javax.swing.text

Class TableView

所有已实现的接口:
SwingConstants

public abstract class TableView extends BoxView

为表格实现View接口,该表格由一个元素结构组成,其中该视图负责的元素的子元素代表行,行元素的子元素是单元格。单元格元素下面可以有任意的元素结构,这将由getViewFactory方法返回的ViewFactory构建。

    表格
      行
        单元格
        单元格
      行
        单元格
        单元格

 

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

参见:
  • Constructor Details

    • TableView

      public TableView(Element elem)
      为给定元素构造一个TableView。
      参数:
      elem - 该视图负责的元素
  • Method Details

    • createTableRow

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

      @Deprecated protected TableView.TableCell createTableCell(Element elem)
      Deprecated.
      Table cells can now be any arbitrary View implementation and should be produced by the ViewFactory rather than the table.
      参数:
      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