java.lang.Object
javax.swing.text.FlowView.FlowStrategy
- 封装类:
-
FlowView
维护流程物理形式的策略。默认实现完全无状态,并且如果给定FlowView上的布局无效,则重新计算整个流程。可以通过子类化实现替代策略,并可能执行增量修复布局或替代断行行为。
- 自1.3版本起:
- 1.3
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void如有可能,调整给定的行以适应布局跨度。voidchangedUpdate(FlowView fv, DocumentEvent e, Rectangle alloc) 来自文档的通知,指示此视图负责的位置的属性已更改。protected ViewcreateView(FlowView fv, int startOffset, int spanLeft, int rowIndex) 创建一个可用于表示当前流程片段的视图。protected View该方法使流策略可以访问FlowView的逻辑视图。voidinsertUpdate(FlowView fv, DocumentEvent e, Rectangle alloc) 通知文档中在给定流视图负责的位置插入了某些内容。void更新给定FlowView上的流程。protected int创建一行视图,该行将适合行的布局跨度。voidremoveUpdate(FlowView fv, DocumentEvent e, Rectangle alloc) 通知文档中在给定流视图负责的位置删除了某些内容。
-
Constructor Details
-
FlowStrategy
public FlowStrategy()构造一个FlowStrategy。
-
-
Method Details
-
insertUpdate
通知文档中在给定流视图负责的位置插入了某些内容。策略应更新适当的更改区域(这取决于用于修复的策略)。- 参数:
-
fv- 流视图 -
e- 与关联文档的更改信息 -
alloc- 视图在插入点内的当前分配。如果视图尚未显示,则此值将为null。 - 参见:
-
removeUpdate
通知文档中在给定流视图负责的位置删除了某些内容。- 参数:
-
fv- 流视图 -
e- 与关联文档的更改信息 -
alloc- 视图在插入点内的当前分配。 - 参见:
-
changedUpdate
来自文档的通知,指示此视图负责的位置的属性已更改。- 参数:
-
fv- 包含更改的FlowView -
e- 描述对文档所做更改的DocumentEvent -
alloc- 视图的边界 - 参见:
-
getLogicalView
该方法使流策略可以访问FlowView的逻辑视图。- 参数:
-
fv- FlowView - 返回:
- FlowView的逻辑视图
-
layout
更新给定FlowView上的流程。默认情况下,这将导致重新构建所有行(子视图)以匹配每行的给定约束。FlowView.layout调用此方法以更新流程中的子视图。- 参数:
-
fv- 要重新排列的视图
-
layoutRow
创建一行视图,该行将适合行的布局跨度。此方法由布局方法调用。此方法被实现为通过重复调用createView方法来填充行,直到可用跨度耗尽,遇到强制断行或createView方法返回null为止。如果剩余跨度耗尽,则将调用adjustRow方法来对行进行调整,以尝试使其适合给定跨度。- 参数:
-
fv- 流视图 -
rowIndex- 要填充视图的行的索引。假定输入时行为空。 -
pos- 从此视图元素的子项中的当前位置开始。 - 返回:
- 下一行的起始位置
-
adjustRow
如有可能,调整给定的行以适应布局跨度。默认情况下,这将尝试找到最接近行末尾的可能的最高断行权重。如果遇到强制断行,则将在那里定位断行。- 参数:
-
fv- 流视图 -
rowIndex- 要调整为当前布局跨度的行。 -
desiredSpan- 当前布局跨度 >= 0 -
x- r的起始位置。
-
createView
创建一个可用于表示当前流程片段的视图。这可以是逻辑视图中的整个视图,也可以是逻辑视图的片段。- 参数:
-
fv- 持有流程的视图 -
startOffset- 要创建视图的起始位置 -
spanLeft- 剩余的跨度以填充行 -
rowIndex- 视图将放置到的行 - 返回:
- 可用于表示当前流程片段的视图
-