java.lang.Object
javax.swing.text.View
javax.swing.text.CompositeView
javax.swing.text.BoxView
javax.swing.text.FlowView
- 所有已实现的接口:
-
SwingConstants
- 直接已知的子类:
-
ParagraphView
试图将其子项流动到某些部分受限空间的视图。这可用于构建诸如段落、页面等内容。流动由以下功能组成。
- 一组逻辑子视图,用作布局池,从中形成物理视图。
- 将逻辑视图转换为物理(流动)视图的策略。
- 策略工作的约束。
- 代表流动的物理结构。此视图的子项是将逻辑视图的各部分放置在其中以创建流动的位置。
- 自版本:
- 1.3
- 参见:
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprotected View
这些是表示此视图所代表的元素的子元素的视图(要将逻辑视图转换为物理视图)。protected int
创建流动时使用的默认约束。protected FlowView.FlowStrategy
保持流动更新的行为。Fields declared in class javax.swing.text.View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
Fields declared in interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected SizeRequirements
calculateMinorAxisRequirements
(int axis, SizeRequirements r) 沿较小轴计算要求。void
changedUpdate
(DocumentEvent changes, Shape a, ViewFactory f) 来自文档的通知,指示此视图负责的位置发生了属性更改。protected abstract View
创建应用于在流中保存一行子项的视图。int
获取应该流动视图的轴。int
getFlowSpan
(int index) 获取给定子索引的流动约束跨度。int
getFlowStart
(int index) 获取流动跨度将开始的流动轴上的位置。protected int
getViewIndexAtPosition
(int pos) 获取表示模型中给定位置的子视图索引。void
insertUpdate
(DocumentEvent changes, Shape a, ViewFactory f) 通知文档中插入了此视图负责的位置。protected void
layout
(int width, int height) 布局子项。protected void
加载所有子项以初始化视图。void
removeUpdate
(DocumentEvent changes, Shape a, ViewFactory f) 通知文档中删除了此视图负责的位置的内容。Methods declared in class javax.swing.text.BoxView
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, childAllocation, flipEastAndWestAtEnds, forwardUpdate, getAlignment, getAxis, getChildAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paint, paintChild, preferenceChanged, replace, setAxis, setSize, viewToModel
Methods declared in class javax.swing.text.CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets, setParent
Methods declared in class javax.swing.text.View
append, breakView, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, isVisible, modelToView, remove, removeAll, updateChildren, updateLayout, viewToModel
-
Field Details
-
layoutSpan
protected int layoutSpan创建流动时使用的默认约束。 -
layoutPool
这些是表示此视图所代表的元素的子元素的视图(要将逻辑视图转换为物理视图)。这些不是直接的子项。这些要么直接放入行中,要么用于将其分解为更小的块,以形成物理视图。 -
strategy
保持流动更新的行为。默认情况下,这是 FlowView 的所有实例共享的单例(FlowStrategy 是无状态的)。子类可以创建替代策略,该策略可能保持状态。
-
-
Constructor Details
-
FlowView
为给定元素构造 FlowView。- 参数:
-
elem
- 此视图负责的元素 -
axis
- 可以是 View.X_AXIS 或 View.Y_AXIS
-
-
Method Details
-
getFlowAxis
public int getFlowAxis()获取应该流动视图的轴。默认情况下,这将是垂直于流动行的轴(默认流动行本身的轴)。这通常由 FlowStrategy 使用。- 返回:
- 应该流动视图的轴
-
getFlowSpan
public int getFlowSpan(int index) 获取给定子索引的流动约束跨度。在更新流动时,FlowStrategy 调用此方法。通过为行约束提供不同的值,可以塑造流动。默认情况下,返回流动轴上内部间距内的整个跨度。- 参数:
-
index
- 正在更新的行的索引。此值应为 >= 0 且 < getViewCount()。 - 返回:
- 给定子索引的流动约束跨度
- 参见:
-
getFlowStart
public int getFlowStart(int index) 获取流动跨度将开始的流动轴上的位置。在更新流动时,FlowStrategy 调用此方法。通过为行约束提供不同的值,可以塑造流动。- 参数:
-
index
- 正在更新的行的索引。此值应为 >= 0 且 < getViewCount()。 - 返回:
- 流动跨度将开始的流动轴上的位置
- 参见:
-
createRow
创建应用于在流中保存一行子项的视图。在更新流动的过程中添加或删除新子项(即添加或删除行)时,FlowStrategy 调用此方法。- 返回:
- 应用于在流中保存一行子项的视图
-
loadChildren
加载所有子项以初始化视图。此方法由 setParent 方法调用。重新实现此方法以不直接加载任何子项(因为它们在格式化过程中创建)。如果 layoutPool 变量为 null,则创建 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。在所有这些操作之后,执行超类的正常框布局。 -
calculateMinorAxisRequirements
沿较小轴计算要求。通过调用逻辑视图的 getMinimumSpan、getPreferredSpan 和 getMaximumSpan 方法,实现将请求转发给逻辑视图。- 覆盖:
-
calculateMinorAxisRequirements
在类BoxView
- 参数:
-
axis
- 正在研究的轴 -
r
-SizeRequirements
对象;如果为null
,将创建一个 - 返回:
-
新初始化的
SizeRequirements
对象 - 参见:
-
insertUpdate
通知文档中插入了此视图负责的位置的属性发生更改。- 覆盖:
-
insertUpdate
在类View
- 参数:
-
changes
- 关联文档的更改信息 -
a
- 视图的当前分配 -
f
- 如果视图有子项,则用于重建的工厂 - 参见:
-
removeUpdate
通知文档中删除了此视图负责的位置的内容。- 覆盖:
-
removeUpdate
在类View
- 参数:
-
changes
- 关联文档的更改信息 -
a
- 视图的当前分配 -
f
- 如果视图有子项,则用于重建的工厂 - 参见:
-
changedUpdate
通知文档中属性在此视图负责的位置发生更改。- 覆盖:
-
changedUpdate
在类View
- 参数:
-
changes
- 关联文档中的更改信息 -
a
- 视图的当前分配 -
f
- 如果视图有子元素,则用于重建的工厂 - 参见:
-