模块 java.desktop

类 FlowView

所有已实现的接口:
SwingConstants
已知子类:
ParagraphView

public abstract class FlowView extends BoxView
试图将其子项流入某些部分受限空间的视图。这可用于构建段落、页面等内容。流程由以下功能组成。
  • 一组逻辑子视图,用作形成物理视图的布局池。
  • 将逻辑视图转换为物理(流动)视图的策略。
  • 策略的约束条件。
  • 代表流的物理结构。该视图的子视图是放置逻辑视图片段以创建流的地方。
自从:
1.3
参见:
  • 字段详细信息

    • layoutSpan

      protected int layoutSpan
      创建流所针对的默认约束。
    • layoutPool

      protected View  layoutPool
      这些是表示此视图表示的元素的子元素的视图(要转换为物理视图的逻辑视图)。这些不是此视图的直接子项。这些要么直接放入行中,要么用于分解成更小的块,以形成物理视图。
    • strategy

      protected FlowView.FlowStrategy  strategy
      保持流程更新的行为。默认情况下,这是一个由 FlowView 的所有实例共享的单例(FlowStrategy 是无状态的)。子类可以创建一个替代策略,该策略可能会保持状态。
  • 构造方法详细信息

    • FlowView

      public FlowView(Element  elem, int axis)
      为给定元素构造一个 FlowView。
      参数:
      elem - 此视图负责的元素
      axis - 可以是 View.X_AXIS 或 View.Y_AXIS
  • 方法详情

    • getFlowAxis

      public int getFlowAxis()
      获取视图应沿其流动的轴。默认情况下,这将是与流行平铺所沿的轴正交的轴(默认流行本身的轴)。这通常由 FlowStrategy 使用。
      返回:
      视图应沿其流动的轴
    • getFlowSpan

      public int getFlowSpan(int index)
      获取约束跨度以针对给定的子索引进行流动。这由 FlowStrategy 在更新流时调用。可以通过为行约束提供不同的值来塑造流。默认情况下,返回沿流轴的insets内的整个跨度。
      参数:
      index - 正在更新的行的索引。这应该是一个 >= 0 且 < getViewCount() 的值。
      返回:
      给定子索引的流向约束跨度
      参见:
    • getFlowStart

      public int getFlowStart(int index)
      沿流轴获取流跨度开始的位置。这由 FlowStrategy 在更新流时调用。可以通过为行约束提供不同的值来塑造流。
      参数:
      index - 正在更新的行的索引。这应该是一个 >= 0 且 < getViewCount() 的值。
      返回:
      流动跨度将开始的沿流动轴的位置
      参见:
    • createRow

      protected abstract View  createRow()
      创建一个视图,该视图应该用于在流中保存 aa 行的子项。当在更新流的过程中添加或删除新的子项(即添加或删除行)时,FlowStrategy 将调用此方法。
      返回:
      一个视图,应该用于在流中保存一行的子项
    • loadChildren

      protected void loadChildren(ViewFactory  f)
      加载所有子项以初始化视图。这是由 setParent 方法调用的。这被重新实现以不直接加载任何子项(因为它们是在格式化过程中创建的)。如果 layoutPool 变量为空,则创建一个 LogicalView 实例来表示在格式化过程中使用的逻辑视图。
      重写:
      loadChildren 在类 CompositeView
      参数:
      f - 视图工厂
      参见:
    • getViewIndexAtPosition

      protected int getViewIndexAtPosition(int pos)
      获取表示模型中给定位置的子视图索引。
      重写:
      getViewIndexAtPosition 在类 CompositeView
      参数:
      pos - 位置 >= 0
      返回:
      表示给定位置的视图的索引,如果没有视图表示该位置,则为 -1
    • layout

      protected void layout(int width, int height)
      布置子级。如果沿流轴的跨度发生变化,布局将被标记为无效,这将导致超类行为重新计算沿框轴的布局。将调用 FlowStrategy.layout 方法以根据需要重建流行。如果此视图的高度发生变化(由沿框轴的首选大小确定),则会调用 preferenceChanged。在所有这些之后,执行超类的正常框布局。
      重写:
      layout 在类 BoxView
      参数:
      width - 根据 >= 0 布局的宽度。这是插入区域内部的宽度。
      height - 布局的高度 >= 0 这是插入区域内部的高度。
    • calculateMinorAxisRequirements

      protected SizeRequirements  calculateMinorAxisRequirements(int axis, SizeRequirements  r)
      计算沿短轴的需求。这是通过调用 getMinimumSpan、getPreferredSpan 和 getMaximumSpan 将请求转发到逻辑视图来实现的。
      重写:
      calculateMinorAxisRequirements 在类 BoxView
      参数:
      axis - 正在研究的轴
      r - SizeRequirements 对象;如果 null 将被创建
      返回:
      新初始化的 SizeRequirements 对象
      参见:
    • insertUpdate

      public void insertUpdate(DocumentEvent  changes, Shape  a, ViewFactory  f)
      通知某些内容已插入文档中此视图负责的位置。
      重写:
      insertUpdate 在类 View
      参数:
      changes - 来自关联文档的更改信息
      a - 视图的当前分配
      f - 如果视图有子视图,用于重建的工厂
      参见:
    • removeUpdate

      public void removeUpdate(DocumentEvent  changes, Shape  a, ViewFactory  f)
      通知此视图负责的位置从文档中删除了某些内容。
      重写:
      removeUpdate 在类 View
      参数:
      changes - 来自关联文档的更改信息
      a - 视图的当前分配
      f - 如果视图有子视图,用于重建的工厂
      参见:
    • changedUpdate

      public void changedUpdate(DocumentEvent  changes, Shape  a, ViewFactory  f)
      从文档发出通知,通知该视图负责的位置的属性已更改。
      重写:
      changedUpdate 在类 View
      参数:
      changes - 来自关联文档的更改信息
      a - 视图的当前分配
      f - 如果视图有子视图,用于重建的工厂
      参见: