Module  java.desktop
软件包  javax.swing.text

Class FlowView.FlowStrategy

  • Enclosing class:
    FlowView


    public static class FlowView.FlowStrategy
    extends Object
    保持流动的物理形式的策略。 默认实现是完全无状态的,并且如果在给定的FlowView上的布局无效,则重新计算整个流。 替代策略可以通过子类化来实现,并且可能对布局或替代破坏行为执行增量修复。
    从以下版本开始:
    1.3
    • 构造方法详细信息

      • FlowStrategy

        public FlowStrategy​()
    • 方法详细信息

      • getLogicalView

        protected View getLogicalView​(FlowView fv)
        此方法使流策略访问FlowView的逻辑视图。
        参数
        fv - FlowView
        结果
        FlowView的逻辑视图
      • layout

        public void layout​(FlowView fv)
        更新给定FlowView的流程。 默认情况下,这将导致所有行(子视图)重建,以匹配每行的给定约束。 这通过FlowView.layout调用来更新流中的子视图。
        参数
        fv - 回流视图
      • layoutRow

        protected int layoutRow​(FlowView fv,
                                int rowIndex,
                                int pos)
        创建一行将适合该行的布局范围内的视图。 这是通过布局方法调用的。 这是通过重复调用createView方法来填充该行,直到可用的范围已用完,遇到强制中断,或者createView方法返回null。 如果剩余的范围已经耗尽,将调用adjustRow方法对行进行调整,以尝试使其适合给定的跨度。
        参数
        fv - 流程图
        rowIndex - 要用视图填充的行的索引。 该行在入口时假定为空。
        pos - 此视图元素从其开始的当前位置。
        结果
        开始下一行的位置
      • adjustRow

        protected void adjustRow​(FlowView fv,
                                 int rowIndex,
                                 int desiredSpan,
                                 int x)
        如果可能,调整给定行以适应布局范围。 默认情况下,这将尝试找到最接近该行末端的最高分支重量。 如果遇到强制休息,休息时间将被定位在那里。
        参数
        fv - 流程视图
        rowIndex - 要调整到当前布局范围的行。
        desiredSpan - 当前布局跨度> = 0
        x - 位置r开始。
      • createView

        protected View createView​(FlowView fv,
                                  int startOffset,
                                  int spanLeft,
                                  int rowIndex)
        创建一个可用于表示当前流的视图。 这可以是逻辑视图的整个视图,也可以是逻辑视图的片段。
        参数
        fv - 持有流量的视图
        startOffset - 要创建的视图的起始位置
        spanLeft - 左侧的填充行左侧
        rowIndex - 视图将被放置的行
        结果
        一个可用于表示当前流程的视图