java.lang.Object
javax.swing.text.FlowView.FlowStrategy
- 封装类:
-
FlowView
维护流程物理形式的策略。默认实现完全无状态,并且如果给定FlowView上的布局无效,则重新计算整个流程。可以通过子类化实现替代策略,并可能执行增量修复布局或替代断行行为。
- 自1.3版本起:
- 1.3
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
如有可能,调整给定的行以适应布局跨度。void
changedUpdate
(FlowView fv, DocumentEvent e, Rectangle alloc) 来自文档的通知,指示此视图负责的位置的属性已更改。protected View
createView
(FlowView fv, int startOffset, int spanLeft, int rowIndex) 创建一个可用于表示当前流程片段的视图。protected View
该方法使流策略可以访问FlowView的逻辑视图。void
insertUpdate
(FlowView fv, DocumentEvent e, Rectangle alloc) 通知文档中在给定流视图负责的位置插入了某些内容。void
更新给定FlowView上的流程。protected int
创建一行视图,该行将适合行的布局跨度。void
removeUpdate
(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
- 视图将放置到的行 - 返回:
- 可用于表示当前流程片段的视图
-