- 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
public class ParagraphView extends FlowView implements TabExpander
一个简单的换行段落的视图,支持多种字体,颜色,组件,图标等。它基本上是一个垂直框,周围有一个边距。 盒子的内容是一堆特殊的水平盒子。 此视图创建一组视图,表示段落元素的子元素。 如果它们适合,则将这些视图中的每一个直接放入一行,否则调用breakView方法以尝试将视图雕刻成适合的片段。- 另请参见:
-
View
-
-
嵌套类汇总
-
嵌套类/接口声明在类 javax.swing.text.FlowView
FlowView.FlowStrategy
-
-
字段汇总
字段 变量和类型 字段 描述 protected intfirstLineIndent从左边插入第一行的缩进。-
声明的属性在类 javax.swing.text.FlowView
layoutPool, layoutSpan, 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
-
-
构造方法摘要
构造方法 构造器 描述 ParagraphView(Element elem)为给定元素构造ParagraphView。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 ViewbreakView(int axis, float len, Shape a)在给定长度的给定轴上打破此视图。protected SizeRequirementscalculateMinorAxisRequirements(int axis, SizeRequirements r)计算沿短轴的段落需求。voidchangedUpdate(DocumentEvent changes, Shape a, ViewFactory f)从文档中发出通知,告知该视图负责的位置中的属性已更改。protected ViewcreateRow()创建一个View,用于在流中保存一行的子项。protected intfindOffsetToCharactersInString(char[] string, int start)使用string的字符查找文档中的下一个字符,从偏移量start开始。protected booleanflipEastAndWestAtEnds(int position, Position.Bias bias)确定下一个视图的放置方向。floatgetAlignment(int axis)确定此视图沿轴的所需对齐方式。intgetBreakWeight(int axis, float len)获取给定位置的中断权重。protected intgetClosestPositionTo(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet, int rowIndex, int x)返回最接近的模型位置x。intgetFlowSpan(int index)获取约束跨度以针对给定子索引进行流动。intgetFlowStart(int index)沿流动轴获取流动跨度将从的位置。protected ViewgetLayoutView(int index)返回给定index处的视图。protected intgetLayoutViewCount()返回此视图负责的视图数。protected intgetNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)返回光标的下一个视觉位置,在东或西方向。protected floatgetPartialSize(int startOffset, int endOffset)返回startOffset和endOffset之间视图使用的大小。protected floatgetTabBase()返回计算选项卡的位置。protected TabSetgetTabSet()获取用于计算选项卡的Tabset。floatnextTabStop(float x, int tabOffset)给定参考位置,返回下一个制表位。voidpaint(Graphics g, Shape a)使用给定的渲染表面和该表面上的区域进行渲染。protected voidsetFirstLineIndent(float fi)设置第一行的缩进。protected voidsetJustification(int j)设置对齐的类型。protected voidsetLineSpacing(float ls)设置行间距。protected voidsetPropertiesFromAttributes()从属性设置缓存属性。-
声明方法的类 javax.swing.text.FlowView
getFlowAxis, getViewIndexAtPosition, insertUpdate, layout, loadChildren, removeUpdate
-
声明方法的类 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
-
声明方法的类 javax.swing.text.CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, 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
-
-
-
-
构造方法详细信息
-
ParagraphView
public ParagraphView(Element elem)
为给定元素构造ParagraphView。- 参数
-
elem- 此视图负责的元素
-
-
方法详细信息
-
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- 以fi为单位的值
-
setPropertiesFromAttributes
protected void setPropertiesFromAttributes()
从属性设置缓存属性。
-
getLayoutViewCount
protected int getLayoutViewCount()
返回此视图负责的视图数。 段落的子视图是用于排列代表子元素的View的片段的行。 这是以二维方式平铺的视图数,应该等于此视图负责的元素的子元素数。- 结果
-
此
ParagraphView负责的观看次数
-
getLayoutView
protected View getLayoutView(int index)
返回给定index的视图。 段落的子视图是用于排列代表子元素的Views片段的行。 此方法返回负责子元素索引的视图(在中断之前)。 这些是从工厂生成的视图(表示子元素)并用于布局。- 参数
-
index- 所需视图的index - 结果
-
查看
index
-
getNextNorthSouthVisualPositionFrom
protected int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException返回光标的下一个视觉位置,在东或西方向。 被CompositeView。- 重写:
-
getNextNorthSouthVisualPositionFrom在课堂上CompositeView - 参数
-
pos- 进入模型的位置 -
b-Position.Bias.Forward或Position.Bias.Backward -
a- 要分配的已分配区域 -
direction-SwingConstants.NORTH或SwingConstants.SOUTH -
biasRet- 包含在此方法中检查的偏差的数组 - 结果
- 模型中代表下一个位置视觉位置的位置
- 异常
-
BadLocationException- 用于文档模型中的错误位置 - 另请参见:
-
CompositeView.getNextVisualPositionFrom(int, javax.swing.text.Position.Bias, java.awt.Shape, int, javax.swing.text.Position.Bias[])
-
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
protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)确定下一个视图的放置方向。 考虑索引为n的View。 通常情况下,View是View的,因此EAST的View将在索引n + 1处,而到WEST的View将在索引n - 1处。在某些情况下,例如使用双向文本,有可能View到EAST不在索引n + 1,而是在索引n - 1,或者View到WEST不在索引n - 1,但是索引n + 1.在这种情况下这方法将返回true,表示Views按降序排列。如果文本从右到左布置在位置,则返回true,否则返回false。
- 重写:
-
flipEastAndWestAtEnds在类BoxView - 参数
-
position- 进入模型的位置 -
bias-Position.Bias.Forward或Position.Bias.Backward - 结果
- 如果文本从右到左布置在位置,则为true,否则为false。
-
getFlowSpan
public int getFlowSpan(int index)
获取约束跨度以针对给定子索引进行流动。- 重写:
-
getFlowSpan在班级FlowView - 参数
-
index- 要查询的视图的索引 - 结果
-
给定视图的约束范围为
index - 从以下版本开始:
- 1.3
- 另请参见:
-
FlowView.getFlowStart(int)
-
getFlowStart
public int getFlowStart(int index)
沿流动轴获取流动跨度将从的位置。- 重写:
-
getFlowStart在类FlowView - 参数
-
index- 要查询的视图的索引 - 结果
-
给定视图的位置
index - 从以下版本开始:
- 1.3
- 另请参见:
-
FlowView.getFlowSpan(int)
-
createRow
protected View createRow()
创建一个View,用于在流中保存一行的子项。
-
nextTabStop
public float nextTabStop(float x, int tabOffset)给定参考位置,返回下一个制表位。 此视图实现选项卡坐标系,并在布局过程中对逻辑子项调用getTabbedSpan以确定所需的子项跨度。 逻辑子项可以将其选项卡扩展向上委派给知道如何扩展选项卡的段落。LabelView是一个视图示例,它将其选项卡扩展需要向上委托给段落。实现此方法是为了尝试在段落元素的属性集中找到
TabSet。 如果找到一个,将使用其设置,否则将提供默认扩展。 选项卡扩展的基本位置是最近分配段落的左侧插图(这是子级布局所基于的)。- Specified by:
-
nextTabStop在界面TabExpander - 参数
-
x- X参考位置 -
tabOffset- 选项卡出现在> = 0的文本流中的位置 - 结果
- 选项卡扩展的尾端> = 0
- 另请参见:
-
TabSet,TabStop,LabelView
-
getTabSet
protected TabSet 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
public void paint(Graphics g, Shape a)
使用给定的渲染表面和该表面上的区域进行渲染。 这被实现为在存储用于选项卡计算的基础坐标之后委托给超类。- 重写:
-
paint在类BoxView - 参数
-
g- 要使用的渲染表面 -
a- 要分配的已分配区域 - 另请参见:
-
View.paint(java.awt.Graphics, java.awt.Shape)
-
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
public View breakView(int axis, float len, Shape a)
在给定长度的给定轴上打破此视图。ParagraphView实例仅在Y_AXIS上可破坏,并且仅当len在第一行之后。- 参数
-
axis- 可能是View.X_AXIS或View.Y_AXIS -
len- 指定沿给定轴的期望潜在中断的位置> = 0 -
a- 当前视图的分配 - 结果
- 如果视图可以被破坏,则表示给定范围的视图片段; 如果视图不支持中断行为,则返回视图本身
- 另请参见:
-
View.breakView(int, int, float, float)
-
getBreakWeight
public int getBreakWeight(int axis, float len)获取给定位置的中断权重。ParagraphView实例仅在Y_AXIS中可破坏,且仅当len位于第一行之后。 如果长度小于一行,则返回值BadBreakWeight。- 参数
-
axis- 可能是View.X_AXIS或View.Y_AXIS -
len- 指定期望潜在中断的位置> = 0 - 结果
-
表示在这里打破的吸引力的值;
GoodBreakWeight或BadBreakWeight - 另请参见:
-
View.getBreakWeight(int, float, float)
-
calculateMinorAxisRequirements
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
计算沿短轴的段落需求。这使用超类的大小要求,修改为考虑相邻视图边缘处的不可破坏区域。 此类视图的最小大小要求应不小于所有相邻片段的总和。
如果
axis参数既不是View.X_AXIS也不是View.Y_AXIS,则抛出IllegalArgumentException。 如果r参数为null,则会创建新的SizeRequirements对象,否则将返回提供的SizeRequirements对象。- 重写:
-
calculateMinorAxisRequirements在类FlowView - 参数
-
axis- 短轴 -
r- 输入SizeRequirements对象 - 结果
-
新的或调整过的
SizeRequirements对象 - 异常
-
IllegalArgumentException- 如果axis参数无效 - 另请参见:
-
SizeRequirements
-
changedUpdate
public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
从文档中发出通知,告知该视图负责的位置中的属性已更改。- 重写:
-
changedUpdate在类FlowView - 参数
-
changes- 来自关联文档的更改信息 -
a- 当前视图的分配 -
f- 如果视图具有子级,则用于重建的工厂 - 另请参见:
-
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
-