- java.lang.Object
-
- javax.swing.text.View
-
- javax.swing.text.CompositeView
-
- javax.swing.text.BoxView
-
- javax.swing.text.FlowView
-
- 实现的所有接口
-
SwingConstants
- 已知直接子类:
-
ParagraphView
public abstract class FlowView extends BoxView
试图将其子项传递到某个部分受限空间的视图。 这可用于构建段落,页面等内容。流程由以下功能组成。- 一组逻辑子视图,用作构成物理视图的布局池。
- 将逻辑视图转换为物理(流动)视图的策略。
- 制定战略的制约因素。
- 物理结构,代表流动。 此视图的子项是放置逻辑视图以创建流的位置。
- 从以下版本开始:
- 1.3
- 另请参见:
-
View
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static class
FlowView.FlowStrategy
维持流动的物理形式的策略。
-
字段汇总
字段 变量和类型 字段 描述 protected View
layoutPool
这些视图表示此视图表示的元素的子元素(要转换为物理视图的逻辑视图)。protected int
layoutSpan
创建流的默认约束。protected FlowView.FlowStrategy
strategy
保持流程更新的行为。-
声明的属性在类 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
-
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 protected SizeRequirements
calculateMinorAxisRequirements(int axis, SizeRequirements r)
沿短轴计算要求。void
changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
从文档中发出通知,告知该视图负责的位置中的属性已更改。protected abstract View
createRow()
创建一个视图,该视图应该用于在流中保存一行符合条件的子行。int
getFlowAxis()
获取视图应沿其流动的轴。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
loadChildren(ViewFactory f)
加载所有子项以初始化视图。void
removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
通知在该视图负责的位置从文档中删除了某些内容。-
声明方法的类 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
-
声明方法的类 javax.swing.text.CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets, setParent
-
声明方法的类 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
-
-
-
-
字段详细信息
-
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在更新流程时会调用它。 可以通过为行约束提供不同的值来对流进行整形。 默认情况下,返回沿流轴的插入内部的整个跨度。- 参数
-
index
- 正在更新的行的索引。 这应该是值> = 0和<getViewCount()。 - 结果
- 针对给定子索引流动的约束跨度
- 另请参见:
-
getFlowStart(int)
-
getFlowStart
public int getFlowStart(int index)
获取流量跨度将从流轴开始的位置。 FlowStrategy在更新流程时会调用它。 可以通过为行约束提供不同的值来对流进行整形。- 参数
-
index
- 正在更新的行的索引。 这应该是值> = 0和<getViewCount()。 - 结果
- 沿着流动轴线的位置,流动跨度将从该位置开始
- 另请参见:
-
getFlowSpan(int)
-
createRow
protected abstract View createRow()
创建一个视图,该视图应该用于在流中保存一行符合条件的子行。 在更新流程的过程中添加或删除新子项(即添加或删除行)时,FlowStrategy会调用此方法。- 结果
- 一个视图,应该用于在流中保存一行值得孩子的行
-
loadChildren
protected void loadChildren(ViewFactory f)
加载所有子项以初始化视图。 这由setParent
方法调用。 这是重新实现的,不直接加载任何子项(因为它们是在格式化过程中创建的)。 如果layoutPool变量为null,则会创建一个LogicalView实例来表示格式化过程中使用的逻辑视图。- 重写:
-
loadChildren
在类CompositeView
- 参数
-
f
- 查看工厂 - 另请参见:
-
CompositeView.setParent(javax.swing.text.View)
-
getViewIndexAtPosition
protected int getViewIndexAtPosition(int pos)
获取表示模型中给定位置的子视图索引。- 重写:
-
getViewIndexAtPosition
在类CompositeView
- 参数
-
pos
- 位置> = 0 - 结果
- 表示给定位置的视图的索引,如果没有视图表示该位置,则返回-1
-
layout
protected void layout(int width, int height)
安排好孩子们。 如果沿流轴的跨度已更改,则布局将标记为无效,这将导致超类行为沿着框轴重新计算布局。 将调用FlowStrategy.layout方法以根据需要重建流行。 如果此视图的高度发生变化(由沿框轴的首选大小确定),则会调用preferenceChanged。 完成所有这些后,将执行超类的常规框布局。
-
calculateMinorAxisRequirements
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
沿短轴计算要求。 实现此方法是通过在其上调用getMinimumSpan,getPreferredSpan和getMaximumSpan将请求转发到逻辑视图。- 重写:
-
calculateMinorAxisRequirements
在课堂上BoxView
- 参数
-
axis
- 正在研究的轴 -
r
-SizeRequirements
对象; 如果null
将创建一个 - 结果
-
新初始化的
SizeRequirements
对象 - 另请参见:
-
SizeRequirements
-
insertUpdate
public void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
通知在该视图负责的位置将某些内容插入到文档中。- 重写:
-
insertUpdate
在类View
- 参数
-
changes
- 来自关联文档的更改信息 -
a
- 当前视图的分配 -
f
- 如果视图具有子项,则用于重建的工厂 - 另请参见:
-
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
removeUpdate
public void removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
通知在该视图负责的位置从文档中删除了某些内容。- 重写:
-
removeUpdate
在类View
- 参数
-
changes
- 来自关联文档的更改信息 -
a
- 当前视图的分配 -
f
- 如果视图具有子项,则用于重建的工厂 - 另请参见:
-
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
changedUpdate
public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
从文档中发出通知,告知该视图负责的位置中的属性已更改。- 重写:
-
changedUpdate
在类View
- 参数
-
changes
- 来自关联文档的更改信息 -
a
- 当前视图的分配 -
f
- 如果视图具有子项,则用于重建的工厂 - 另请参见:
-
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
-