java.lang.Object javax.swing.text.View javax.swing.text.CompositeView javax.swing.text.BoxView javax.swing.text.FlowView
public abstract class FlowView
试图将其子级流入某个部分受约束的空间的视图。此视图可用于构建段落、页面等。该流由以下几项功能组成。
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 |
从接口 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 |
构造方法摘要 | |
---|---|
FlowView(Element elem, int axis) 构造给定元素的 FlowView。 |
方法摘要 | |
---|---|
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) 发出通知,通知从文档中此视图负责的某个位置已移除内容。 |
void |
setParent(View parent) 设置此视图的父级。 |
从类 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 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected int layoutSpan
protected View layoutPool
protected FlowView.FlowStrategy strategy
构造方法详细信息 |
---|
public FlowView(Element elem, int axis)
elem
- 此视图负责的元素
axis
- 可以是 View.X_AXIS 或 View.Y_AXIS 之一
方法详细信息 |
---|
public int getFlowAxis()
FlowStrategy
使用。
public int getFlowSpan(int index)
index
- 正在更新的行的索引。这应该是一个 >= 0 且 < getViewCount() 的值。
getFlowStart(int)
public int getFlowStart(int index)
index
- 正在更新的行的索引。这应该是一个 >= 0 且 < getViewCount() 的值。
getFlowSpan(int)
protected abstract View createRow()
protected void loadChildren(ViewFactory f)
setParent
方法调用。重新实现此方法,以便不直接加载任何子级(因为它们是在格式化进程中创建的)。如果 layoutPool 变量为 null,则创建一个 LogicalView 实例,表示在格式化进程中使用的逻辑视图。
CompositeView
中的
loadChildren
f
- 视图工厂
CompositeView.setParent(javax.swing.text.View)
protected int getViewIndexAtPosition(int pos)
CompositeView
中的
getViewIndexAtPosition
pos
- 位置,该值 >= 0
protected void layout(int width, int height)
width
- 要按其布置的宽度,该值 >= 0。这是 inset 区域内的宽度。
height
- 按其布置的高度,该值 >= 0。这是 inset 区域内的高度。
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
BoxView
中的
calculateMinorAxisRequirements
axis
- 所考察的轴
r
-
SizeRequirements
对象;如果为
null
,将创建一个对象
SizeRequirements
对象
SizeRequirements
public void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
View
中的
insertUpdate
changes
- 来自相关文档的更改信息
a
- 视图的当前分配区域
f
- 用于重建的工厂(如果该视图有子级)
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
View
中的
removeUpdate
changes
- 来自相关文档的更改信息
a
- 视图的当前分配区域
f
- 用于重建的工厂(如果该视图有子级)
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
View
中的
changedUpdate
changes
- 来自相关文档的更改信息
a
- 视图的当前分配区域
f
- 用于重建的工厂(如果该视图有子级)
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void setParent(View parent)
loadChildren
方法。不应在构造方法中加载子级,因为设置父级的动作可能引起它们试图沿层次结构向上搜索,例如,要获得承载
Container
。如果此视图有子级(视图从视图层次结构中的一个位置移动到另一个位置),则不调用
loadChildren
方法。
CompositeView
中的
setParent
parent
- 视图的父级,如果没有则为
null