java.lang.Object
javax.swing.text.View
javax.swing.text.CompositeView
javax.swing.text.BoxView
javax.swing.text.FlowView
javax.swing.text.ParagraphView
- 所有已实现的接口:
-
SwingConstants
,TabExpander
- 直接已知的子类:
-
ParagraphView
支持多种字体、颜色、组件、图标等的简单换行段落视图。基本上是一个带有周围边距的垂直框。框的内容是一堆行,这些行是特殊的水平框。此视图创建一组表示段落元素的子元素的视图。如果每个视图都适合,则将这些视图直接放入行中,否则将调用
breakView
方法尝试将视图划分为适合的片段。
- 参见:
-
Nested Class Summary
Nested classes/interfaces declared in class javax.swing.text.FlowView
FlowView.FlowStrategy
-
Field Summary
Fields declared in class javax.swing.text.FlowView
layoutPool, layoutSpan, strategy
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 TypeMethodDescription在给定长度处沿给定轴中断此视图。protected SizeRequirements
calculateMinorAxisRequirements
(int axis, SizeRequirements r) 计算段落沿次要轴的需求。void
changedUpdate
(DocumentEvent changes, Shape a, ViewFactory f) 从文档中接收属性更改的通知,该文档负责此视图的位置。protected View
创建一个应用于在流中保存一行子元素的View
。protected int
findOffsetToCharactersInString
(char[] string, int start) 查找文档中具有字符string
的下一个字符,从偏移量start
开始。protected boolean
flipEastAndWestAtEnds
(int position, Position.Bias bias) 确定下一个视图的放置方向。float
getAlignment
(int axis) 确定沿轴线的此视图的期望对齐方式。int
getBreakWeight
(int axis, float len) 获取给定位置的断点权重。protected int
getClosestPositionTo
(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet, int rowIndex, int x) 返回最接近x
的模型位置。int
getFlowSpan
(int index) 获取给定子索引的用于流动的约束跨度。int
getFlowStart
(int index) 获取流动跨度将开始的沿流动轴的位置。protected View
getLayoutView
(int index) 返回给定index
的视图。protected int
返回此视图负责的视图数量。protected int
getNextNorthSouthVisualPositionFrom
(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) 返回光标的下一个视觉位置,向东或向西方向。protected float
getPartialSize
(int startOffset, int endOffset) 返回在startOffset
和endOffset
之间的视图使用的大小。protected float
返回计算制表位的位置。protected TabSet
获取用于计算制表位的Tabset
。float
nextTabStop
(float x, int tabOffset) 给定参考位置,返回下一个制表位位置。void
使用给定的渲染表面和该表面上的区域进行渲染。protected void
setFirstLineIndent
(float fi) 设置第一行的缩进。protected void
setJustification
(int j) 设置对齐方式的类型。protected void
setLineSpacing
(float ls) 设置行间距。protected void
从属性设置缓存的属性。Methods declared in class javax.swing.text.FlowView
getFlowAxis, getViewIndexAtPosition, insertUpdate, layout, loadChildren, removeUpdate
Methods declared in class javax.swing.text.BoxView
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, childAllocation, forwardUpdate, getAxis, getChildAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paintChild, preferenceChanged, replace, setAxis, setSize, viewToModel
Methods declared in class javax.swing.text.CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, 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
-
firstLineIndent
protected int firstLineIndent第一行的缩进,从左边开始。
-
-
Constructor Details
-
ParagraphView
为给定元素构造一个ParagraphView
。- 参数:
-
elem
- 此视图负责的元素
-
-
Method Details
-
setJustification
protected void setJustification(int j) 设置对齐方式的类型。- 参数:
-
j
- 以下值之一:StyleConstants.ALIGN_LEFT
StyleConstants.ALIGN_CENTER
StyleConstants.ALIGN_RIGHT
-
setLineSpacing
protected void setLineSpacing(float ls) 设置行间距。- 参数:
-
ls
- 该值是行高的因子
-
setFirstLineIndent
protected void setFirstLineIndent(float fi) 设置第一行的缩进。- 参数:
-
fi
- 点数值
-
setPropertiesFromAttributes
protected void setPropertiesFromAttributes()从属性设置缓存的属性。 -
getLayoutViewCount
protected int getLayoutViewCount()返回此视图负责的视图数量。段落的子视图是用于排列代表子元素的View
片段的行。这是在二维中平铺的视图数量,并且应该等同于此视图负责的元素的子元素数量。- 返回:
-
此
ParagraphView
负责的视图数量
-
getLayoutView
返回给定index
的视图。段落的子视图是用于排列代表子元素的Views
片段的行。此方法返回负责子元素索引(在分割之前)的视图。这些是从工厂生成的视图(用于代表子元素)并用于布局的视图。- 参数:
-
index
- 所需视图的index
- 返回:
-
index
处的视图
-
getNextNorthSouthVisualPositionFrom
protected int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException 返回光标的下一个视觉位置,向东或向西方向。从CompositeView
中重写。- 覆盖:
-
CompositeView
中的getNextNorthSouthVisualPositionFrom
- 参数:
-
pos
- 模型中的位置 -
b
-Position.Bias.Forward
或Position.Bias.Backward
-
a
- 要渲染的分配区域 -
direction
-SwingConstants.NORTH
或SwingConstants.SOUTH
-
biasRet
- 包含在此方法中检查的偏差的数组 - 返回:
- 表示下一个位置视觉位置的模型中的位置
- 抛出:
-
BadLocationException
- 对于文档模型中的错误位置 - 参见:
-
getClosestPositionTo
protected int getClosestPositionTo(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet, int rowIndex, int x) throws BadLocationException 返回最接近x
的模型位置。rowIndex
给出应查找的对应视图的索引。- 参数:
-
pos
- 模型中的位置 -
b
- 偏差 -
a
- 要渲染的分配区域 -
direction
- 以下值之一:SwingConstants.NORTH
SwingConstants.SOUTH
-
biasRet
- 包含在此方法中检查的偏差的数组 -
rowIndex
- 视图的索引 -
x
- 感兴趣的x坐标 - 返回:
-
最接近
x
的模型位置 - 抛出:
-
BadLocationException
- 如果遇到错误位置
-
flipEastAndWestAtEnds
确定下一个视图的放置方向。考虑索引n处的View
。通常,View
是从左到右布局的,因此东侧的View
将位于索引n + 1,西侧的View
将位于索引n - 1。在某些情况下,例如具有双向文本的情况,可能东侧的View
不在索引n + 1处,而是在索引n - 1处,或者西侧的View
不在索引n - 1处,而在索引n + 1处。在这种情况下,此方法将返回true,表示View
按降序布局。如果文本在位置上从右到左布局,则返回true,否则返回false。
- 覆盖:
-
BoxView
中的flipEastAndWestAtEnds
- 参数:
-
position
- 模型中的位置 -
bias
-Position.Bias.Forward
或Position.Bias.Backward
- 返回:
- 如果文本在位置上从右到左布局,则返回true,否则返回false。
-
getFlowSpan
public int getFlowSpan(int index) 获取给定子索引的用于流动的约束跨度。- 覆盖:
-
FlowView
中的getFlowSpan
- 参数:
-
index
- 正在查询的视图的索引 - 返回:
-
给定
index
处视图的约束跨度 - 自1.3起:
- 1.3
- 参见:
-
getFlowStart
public int getFlowStart(int index) 获取流动跨度将开始的沿流动轴的位置。- 覆盖:
-
FlowView
中的getFlowStart
- 参数:
-
index
- 正在查询的视图的索引 - 返回:
-
给定
index
处视图的位置 - 自1.3起:
- 1.3
- 参见:
-
createRow
创建一个应用于在流中保存一行子元素的View
。- 指定者:
-
FlowView.createRow
中的createRow
- 返回:
-
新的
View
- 自1.3起:
- 1.3
-
nextTabStop
public float nextTabStop(float x, int tabOffset) 返回给定参考位置的下一个制表位位置。此视图实现了制表坐标系统,并在布局过程中调用逻辑子项上的getTabbedSpan
以确定子项的所需跨度。逻辑子项可以将它们的制表展开向上委托给了知道如何展开制表位的段落。LabelView
是一个将其制表展开需求向上委托给段落的视图的示例。此方法实现为尝试定位段落元素的属性集中的
TabSet
。如果找到一个,将使用其设置,否则将提供默认的展开。制表展开的基本位置是段落最近分配的左插入位置(这是子项布局所基于的)。- 指定者:
-
nextTabStop
在接口TabExpander
中 - 参数:
-
x
- X 参考位置 -
tabOffset
- 制表位出现的文本流中的位置 >= 0 - 返回:
- 制表展开的尾部 >= 0
- 另请参阅:
-
getTabSet
获取用于计算制表位的Tabset
。- 返回:
-
TabSet
-
getPartialSize
protected float getPartialSize(int startOffset, int endOffset) 返回startOffset
和endOffset
之间的视图使用的大小。如果子视图实现了TabableView
接口,则使用getPartialView
来计算大小。如果需要大小并且View
没有实现TabableView
接口,则将使用preferredSpan
。- 参数:
-
startOffset
- 起始文档偏移量 >= 0 -
endOffset
- 结束文档偏移量 >= startOffset - 返回:
- 大小 >= 0
-
findOffsetToCharactersInString
protected int findOffsetToCharactersInString(char[] string, int start) 在文档中查找具有string
中字符的下一个字符,从偏移量start
开始。如果找不到字符,则返回-1。- 参数:
-
string
- 字符串的字符 -
start
- 在模型中开始的位置 >= 0 - 返回:
- 文档偏移量,如果找不到字符则为-1
-
getTabBase
protected float getTabBase()返回制表位计算的位置。- 返回:
- 制表位计算的位置
-
paint
使用给定的渲染表面和该表面上的区域进行渲染。在将基本坐标存储为制表计算后,实现将委托给超类。 -
getAlignment
public float getAlignment(int axis) 确定此视图沿轴线的所需对齐方式。实现为将对齐方式给予y轴上第一行的中心,并在x轴上给予默认值。- 覆盖:
-
getAlignment
在类BoxView
中 - 参数:
-
axis
- 可能是View.X_AXIS
或View.Y_AXIS
- 返回:
- 所需的对齐方式。这应该是一个介于0.0和1.0之间的值,其中0表示在原点对齐,1.0表示远离原点的完整跨度对齐。对齐值为0.5将是视图的中心。
-
breakView
在给定长度和轴线上的位置上断开此视图。ParagraphView
实例仅沿Y_AXIS
可断开,仅当len
在第一行之后时。- 参数:
-
axis
- 可能是View.X_AXIS
或View.Y_AXIS
-
len
- 指定沿给定轴线所需断开的位置 >= 0 -
a
- 视图的当前分配 - 返回:
- 表示给定跨度的视图片段,如果视图可以被断开;如果视图不支持断开行为,则返回视图本身
- 另请参阅:
-
getBreakWeight
public int getBreakWeight(int axis, float len) 获取给定位置的断开权重。ParagraphView
实例仅沿Y_AXIS
可断开,仅当len
在第一行之后时。如果长度小于一行,则返回BadBreakWeight
值。- 参数:
-
axis
- 可能是View.X_AXIS
或View.Y_AXIS
-
len
- 指定所需断开的位置 >= 0 - 返回:
-
表示此处断开吸引力的值;要么是
GoodBreakWeight
,要么是BadBreakWeight
- 另请参阅:
-
calculateMinorAxisRequirements
计算沿次轴线的段落需求。这使用了超类的大小要求,修改以考虑相邻视图边缘的不可断开区域。此类视图的最小大小要求应不小于所有相邻片段的总和。
如果
axis
参数既不是View.X_AXIS
也不是View.Y_AXIS
,则抛出IllegalArgumentException
。如果r
参数为null
,则创建一个新的SizeRequirements
对象,否则返回提供的SizeRequirements
对象。- 覆盖:
-
calculateMinorAxisRequirements
在类FlowView
中 - 参数:
-
axis
- 次轴线 -
r
- 输入的SizeRequirements
对象 - 返回:
-
新的或调整后的
SizeRequirements
对象 - 抛出:
-
IllegalArgumentException
- 如果axis
参数无效 - 另请参阅:
-
changedUpdate
从文档中获取属性在此视图负责的位置发生更改的通知。- 覆盖:
-
changedUpdate
在类FlowView
中 - 参数:
-
changes
- 关联文档的更改信息 -
a
- 视图的当前分配 -
f
- 如果视图有子项,则用于重建的工厂 - 另请参阅:
-