javax.swing.text

接口
异常
java.lang.Object
  继承者 javax.swing.text.FlowView.FlowStrategy
正在封闭类:
FlowView

public static class FlowView.FlowStrategy
     
extends Object

维护流的物理形式的策略。默认实现是完全无状态的,并且如果给定的 FlowView 布局无效,则要重新计算整个流。备用策略可以通过创建子类实现,并且可以对布局或备用分解行为执行增量修复。

从以下版本开始:
1.3

构造方法摘要
FlowView.FlowStrategy()
           
 
方法摘要
protected  void adjustRow(FlowView fv, int rowIndex, int desiredSpan, int x)
          如有可能,调整给定行以使其适合布局区域。
 void changedUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
          发出通知,通知文档中此视图负责的某个位置的属性已更改。
protected  View createView(FlowView fv, int startOffset, int spanLeft, int rowIndex)
          创建一个可用于表示流的当前片段的视图。
protected  View getLogicalView(FlowView fv)
          此方法提供访问 FlowView 的逻辑视图的流策略。
 void insertUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
          发出通知,通知在文档中此视图负责的某个位置已插入内容。
 void layout(FlowView fv)
          更新给定 FlowView 的流。
protected  int layoutRow(FlowView fv, int rowIndex, int pos)
          创建一个符合该行布局区域的视图的行。
 void removeUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
          发出通知,通知已从文档中此给定流视图负责的某个位置移除某些内容。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

FlowView.FlowStrategy

public FlowView.FlowStrategy()
方法详细信息

insertUpdate

public void insertUpdate(FlowView fv,
                         DocumentEvent e,
                         Rectangle alloc)
发出通知,通知在文档中此视图负责的某个位置已插入内容。该策略应能更新相应的已更改区域(这取决于修复所用的策略)。

参数:
e - 来自相关文档的更改信息
alloc - 该 insets 内此视图的当前分配区域。如果视图尚未显示,则此值为 null。
另请参见:
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

removeUpdate

public void removeUpdate(FlowView fv,
                         DocumentEvent e,
                         Rectangle alloc)
发出通知,通知已从文档中此给定流视图负责的某个位置移除某些内容。

参数:
e - 来自相关文档的更改信息
alloc - 该 insets 内此视图的当前分配区域。
另请参见:
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

changedUpdate

public void changedUpdate(FlowView fv,
                          DocumentEvent e,
                          Rectangle alloc)
发出通知,通知文档中此视图负责的某个位置的属性已更改。

参数:
fv - 包含这些更改的 FlowView
e - 描述对文档做出的更改的 DocumentEvent
alloc - 视图的边界
另请参见:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

getLogicalView

protected View getLogicalView(FlowView fv)
此方法提供访问 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 方法来调整该行,试图使它符合给定区域。

参数:
rowIndex - 要使用视图填充的行的索引。假定行入口为空。
pos - 视图子级中元素从其开始的当前位置。
返回:
开始下一行的位置

adjustRow

protected void adjustRow(FlowView fv,
                         int rowIndex,
                         int desiredSpan,
                         int x)
如有可能,调整给定行以使其适合布局区域。默认情况下,此操作将试图能在最接近行结尾的位置找到最高中断权重。如果遇到强制中断,则该中断将定位于强制中断的位置。

参数:
rowIndex - 调整当前布局区域的行。
desiredSpan - 当前布局区域,该值 >= 0
x - 行开始处的位置。

createView

protected View createView(FlowView fv,
                          int startOffset,
                          int spanLeft,
                          int rowIndex)
创建一个可用于表示流的当前片段的视图。这可以是逻辑视图中的整个视图,也可以是该逻辑视图的一个片段。

参数:
fv - 保存流的视图
startOffset - 正创建的视图的开始位置
spanLeft - 行中填充的区域左半部分
rowIndex - 视图将放入其中的行