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

Class CompositeView

    • 构造方法详细信息

      • CompositeView

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

      • setParent

        public void setParent​(View parent)
        设置视图的父级。 这被重新实现以提供超类行为以及如果此视图还没有子loadChildren则调用loadChildren方法。 不应该在构造函数中加载子项,因为设置父项的行为可能会导致它们尝试搜索层次结构(例如,获取托管Container )。 如果此视图具有子视图(视图正从视图层次结构中的一个位置移动到另一个位置),则不会调用loadChildren方法。
        重写:
        setParent在类 View
        参数
        parent - 视图的父级,如果没有, null
      • getViewCount

        public int getViewCount()
        返回此视图的子视图数。
        重写:
        getViewCount在类 View
        结果
        视图数> = 0
        另请参见:
        getView(int)
      • getView

        public View getView​(int n)
        返回此容器中的第n个视图。
        重写:
        getView在类 View
        参数
        n - 所需视图的编号,> = 0 && <getViewCount()
        结果
        索引在 n处的视图
      • replace

        public void replace​(int offset,
                            int length,
                            View[] views)
        替换子视图。 如果没有视图要删除此行为作为插入。 如果没有要添加的视图,则此操作为删除。 正在删除的视图将父级设置为null ,并删除对它们的内部引用,以便它们可以被垃圾回收。
        重写:
        replace在类 View
        参数
        offset - 插入新视图的子视图的起始索引; > = 0且<= getViewCount
        length - 要删除的现有子视图的数量; 这应该是一个值> = 0和<=(getViewCount() - offset)
        views - 要添加的子视图; 此值可以是null ,表示没有添加子项(有用于删除)
      • getChildAllocation

        public Shape getChildAllocation​(int index,
                                        Shape a)
        获取要呈现的给定子视图的分配。 这样可以找出各种视图的位置。
        重写:
        getChildAllocation在课程 View
        参数
        index - 孩子的索引,> = 0 && <getViewCount()
        a - 此视图的分配
        结果
        分配给孩子
      • getViewIndex

        public int getViewIndex​(int pos,
                                Position.Bias b)
        返回表示模型中给定位置的子视图索引。 这是为了向后兼容而调用getViewIndexByPosition方法。
        重写:
        getViewIndex ,类 View
        参数
        pos - 位置> = 0
        b - 偏见
        结果
        表示给定位置的视图的索引,如果没有视图表示该位置,则返回-1
        从以下版本开始:
        1.3
      • isBefore

        protected abstract boolean isBefore​(int x,
                                            int y,
                                            Rectangle alloc)
        测试点是否位于矩形范围之前。
        参数
        x - X坐标> = 0
        y - Y坐标> = 0
        alloc - 矩形
        结果
        如果该点在指定范围之前,则为true
      • isAfter

        protected abstract boolean isAfter​(int x,
                                           int y,
                                           Rectangle alloc)
        测试点是否位于矩形范围之后。
        参数
        x - X坐标> = 0
        y - Y坐标> = 0
        alloc - 矩形
        结果
        如果该点在指定范围之后,则为true
      • getViewAtPoint

        protected abstract View getViewAtPoint​(int x,
                                               int y,
                                               Rectangle alloc)
        在给定坐标处获取子视图。
        参数
        x - X坐标> = 0
        y - Y坐标> = 0
        alloc - 父项在进入时的分配,应在退出时更改为子项的分配
        结果
        孩子的观点
      • childAllocation

        protected abstract void childAllocation​(int index,
                                                Rectangle a)
        返回给定子项的分配。
        参数
        index - 孩子的索引,> = 0 && <getViewCount()
        a - 条目框内部的分配,以及退出时索引处的子视图分配。
      • getViewAtPosition

        protected View getViewAtPosition​(int pos,
                                         Rectangle a)
        获取表示模型中给定位置的子视图。 实现这是为了在每个子元素都有子视图的情况下获取视图。
        参数
        pos - 位置> = 0
        a - 进入时盒子内部的分配,以及包含退出位置的视图的分配
        结果
        表示给定位置的视图,如果没有, null
      • getViewIndexAtPosition

        protected int getViewIndexAtPosition​(int pos)
        获取表示模型中给定位置的子视图索引。 实现这是为了在每个子元素都有子视图的情况下获取视图。
        参数
        pos - 位置> = 0
        结果
        表示给定位置的视图的索引,如果没有视图表示该位置,则返回-1
      • getInsideAllocation

        protected Rectangle getInsideAllocation​(Shape a)
        将给予视图的不可变分配转换为表示内部分配的可变分配(即删除了顶部,左侧,底部和右侧插入的给定分配的边界。预计返回的值将进一步突变为表示对子视图的分配。实现这是为了重用实例变量,以避免创建过多的矩形。通常,调用此方法的结果将被馈送到 childAllocation方法。
        参数
        a - 给予视图的分配
        结果
        在边距全部被删除后表示视图内部的分配; 如果给定的分配是null ,则返回值为null
      • setParagraphInsets

        protected void setParagraphInsets​(AttributeSet attr)
        设置给定属性中指定的段落属性的插入。
        参数
        attr - 属性
      • setInsets

        protected void setInsets​(short top,
                                 short left,
                                 short bottom,
                                 short right)
        设置视图的insets。
        参数
        top - 顶部插入> = 0
        left - 左侧插图> = 0
        bottom - 底部插入> = 0
        right - 右侧插入> = 0
      • getLeftInset

        protected short getLeftInset()
        获取左侧插图。
        结果
        插图> = 0
      • getRightInset

        protected short getRightInset()
        获取正确的插图。
        结果
        插图> = 0
      • getTopInset

        protected short getTopInset()
        获取顶部插图。
        结果
        插图> = 0
      • getBottomInset

        protected short getBottomInset()
        获取底部插图。
        结果
        插图> = 0
      • flipEastAndWestAtEnds

        protected boolean flipEastAndWestAtEnds​(int position,
                                                Position.Bias bias)
        确定下一个视图的放置方向。 考虑索引为n的View 通常情况下, View ,因此View将位于指数n + 1,而View位于指数n - 1.在某些情况下,例如双向文本,有可能View到EAST不在索引n + 1,而是在索引n - 1,或者说View到WEST不在索引n - 1,但索引n + 1.在这种情况下这方法将返回true,表示View s按降序排列。

        这无条件地返回false,如果有可能按降序排列View ,则子类应覆盖此方法。

        参数
        position - 进入模型的位置
        bias - Position.Bias.ForwardPosition.Bias.Backward
        结果