模块  java.desktop
软件包  javax.swing.text

Class TableView

  • 实现的所有接口
    SwingConstants

    public abstract class TableViewextends BoxView

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

         TABLE      ROW        CELL        CELL      ROW        CELL        CELL 

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

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

      • TableView

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

      • createTableRow

        protected TableView.TableRow createTableRow​(Element elem)
        创建一个新的表行。
        参数
        elem - 一个元素
        结果
        这一排
      • createTableCell

        @Deprecatedprotected 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 - 所有表列总数的给定范围
        reqs - 每列所需的要求。 这是单元格最小,首选和最大请求跨度的列最大值
        spans - 分配给每列的返回值
        offsets - 每列偏移量的返回值
      • layoutMinorAxis

        protected void layoutMinorAxis​(int targetSpan,                               int axis,                               int[] offsets,                               int[] spans)
        对框的短轴(即与其表示的轴正交的轴)执行布局。 布局的结果应放在给定的数组中,这些数组表示沿短轴的子项分配。 每当需要沿短轴更新布局时,超类会调用此方法。

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

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

        protected SizeRequirements calculateMinorAxisRequirements​(int axis,                                                          SizeRequirements r)
        计算短轴的要求。 只要需要更新需求(即,通过此视图发送了preferenceChanged),超类就会调用此方法。

        实现这一点是为了将需求计算为列要求的总和。

        重写:
        calculateMinorAxisRequirementsBoxView
        参数
        axis - 正在研究的轴
        r - SizeRequirements对象; 如果null将创建一个
        结果
        新初始化的 SizeRequirements对象
        另请参见:
        SizeRequirements
      • getViewAtPosition

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