java.lang.Object
javax.swing.text.View
javax.swing.text.CompositeView
javax.swing.text.BoxView
javax.swing.text.WrappedPlainView
- 所有已实现的接口:
-
SwingConstants,TabExpander
纯文本视图(只有一种字体和颜色的文本)的视图,支持自动换行。该视图期望其关联的元素具有代表应该换行的行的子元素。它被实现为一个包含逻辑行视图的垂直框,逻辑行视图是渲染逻辑行的嵌套类,如果逻辑行太宽而无法适应分配,则将逻辑行渲染为多个物理行。行视图利用外部类的状态来减少其内存需求。
行视图通过drawLine方法进行所有渲染,该方法又通过drawSelectedText和drawUnselectedText方法进行所有渲染。这使得子类可以轻松地专门化渲染而不必考虑布局方面的问题。
- 参见:
-
Field Summary
Fields declared in class javax.swing.text.View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXISFields 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
ConstructorsConstructorDescriptionWrappedPlainView(Element elem) 创建一个新的WrappedPlainView。WrappedPlainView(Element elem, boolean wordWrap) 创建一个新的WrappedPlainView。 -
Method Summary
Modifier and TypeMethodDescriptionprotected intcalculateBreakPosition(int p0, int p1) 嵌套的包装行视图调用此方法以确定断点位置。voidchangedUpdate(DocumentEvent e, Shape a, ViewFactory f) 从文档中接收通知,指示此视图负责的位置发生了属性更改。protected voiddrawLine(int p0, int p1, Graphics2D g, float x, float y) 渲染一行文本,忽略末尾的空格并展开任何制表符。protected void已弃用。protected floatdrawSelectedText(Graphics2D g, float x, float y, int p0, int p1) 渲染模型中给定范围的文本作为选定文本。protected intdrawSelectedText(Graphics g, int x, int y, int p0, int p1) protected floatdrawUnselectedText(Graphics2D g, float x, float y, int p0, int p1) 渲染模型中给定范围的文本作为普通未选定文本。protected intdrawUnselectedText(Graphics g, int x, int y, int p0, int p1) protected final Segment提供可用于从关联文档中提取文本的缓冲区。floatgetMaximumSpan(int axis) 确定此视图沿轴的最大跨度。floatgetMinimumSpan(int axis) 确定此视图沿轴的最小跨度。floatgetPreferredSpan(int axis) 确定此视图沿轴的首选跨度。protected int返回为文档设置的制表符大小,默认为8。voidinsertUpdate(DocumentEvent e, Shape a, ViewFactory f) 从文档中接收通知,指示此视图负责的位置插入了内容。protected void加载所有子项以初始化视图。floatnextTabStop(float x, int tabOffset) 返回给定参考位置后的下一个制表位位置。void使用给定的渲染表面和该表面上的区域进行渲染。voidremoveUpdate(DocumentEvent e, Shape a, ViewFactory f) 从文档中接收通知,指示此视图负责的位置删除了内容。voidsetSize(float width, float height) 设置视图的大小。Methods declared in class javax.swing.text.BoxView
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, calculateMinorAxisRequirements, childAllocation, flipEastAndWestAtEnds, forwardUpdate, getAlignment, getAxis, getChildAllocation, getHeight, getOffset, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layout, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paintChild, preferenceChanged, replace, setAxis, viewToModelMethods declared in class javax.swing.text.CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, modelToView, setInsets, setParagraphInsets, setParentMethods 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
-
Constructor Details
-
WrappedPlainView
创建一个新的WrappedPlainView。行将根据字符边界换行。- 参数:
-
elem- 视图下的元素
-
WrappedPlainView
创建一个新的WrappedPlainView。行可以根据wordWrap参数的设置在字符边界或单词边界上换行。- 参数:
-
elem- 视图下的元素 -
wordWrap- 行是否应在单词边界上换行?
-
-
Method Details
-
getTabSize
protected int getTabSize()返回为文档设置的制表符大小,默认为8。- 返回:
- 制表符大小
-
drawLine
Deprecated.replaced bydrawLine(int, int, Graphics2D, float, float)渲染一行文本,忽略末尾的空格并展开任何制表符。此方法实现为调用drawUnselectedText和drawSelectedText方法,以便可以自定义选定文本和未选定文本的渲染方式。- 参数:
-
p0- 要使用的起始文档位置 >= 0 -
p1- 要使用的结束文档位置 >= p1 -
g- 图形上下文 -
x- 起始X位置 >= 0 -
y- 起始Y位置 >= 0 - 参见:
-
drawLine
渲染一行文本,忽略末尾的空格并展开任何制表符。此方法实现为调用drawUnselectedText和drawSelectedText方法,以便可以自定义选定文本和未选定文本的渲染方式。- 参数:
-
p0- 要使用的起始文档位置 >= 0 -
p1- 要使用的结束文档位置 >= p1 -
g- 图形上下文 -
x- 起始X位置 >= 0 -
y- 起始Y位置 >= 0 - 自JDK 9起:
- 9
- 参见:
-
drawUnselectedText
@Deprecated(since="9") protected int drawUnselectedText(Graphics g, int x, int y, int p0, int p1) throws BadLocationException Deprecated.渲染模型中给定范围的文本作为普通未选定文本。- 参数:
-
g- 图形上下文 -
x- 起始X坐标 >= 0 -
y- 起始Y坐标 >= 0 -
p0- 模型中的起始位置 >= 0 -
p1- 模型中的结束位置 >= p0 - 返回:
- 范围结束的X位置 >= 0
- 抛出:
-
BadLocationException- 如果范围无效
-
drawUnselectedText
protected float drawUnselectedText(Graphics2D g, float x, float y, int p0, int p1) throws BadLocationException 渲染模型中给定范围的文本作为普通未选定文本。- 参数:
-
g- 图形上下文 -
x- 起始X坐标 >= 0 -
y- 起始Y坐标 >= 0 -
p0- 模型中的起始位置 >= 0 -
p1- 模型中的结束位置 >= p0 - 返回:
- 范围结束的X位置 >= 0
- 抛出:
-
BadLocationException- 如果范围无效 - 自JDK 9起:
- 9
-
drawSelectedText
@Deprecated(since="9") protected int drawSelectedText(Graphics g, int x, int y, int p0, int p1) throws BadLocationException Deprecated.渲染模型中给定范围的文本作为选定文本。此方法实现为以主机组件中指定的颜色渲染文本。它假定高亮器将渲染选定的背景。- 参数:
-
g- 图形上下文 -
x- 起始X坐标 >= 0 -
y- 起始Y坐标 >= 0 -
p0- 模型中的起始位置 >= 0 -
p1- 模型中的结束位置 >= p0 - 返回:
- 范围结束的位置。
- 抛出:
-
BadLocationException- 如果范围无效
-
drawSelectedText
protected float drawSelectedText(Graphics2D g, float x, float y, int p0, int p1) throws BadLocationException 渲染模型中给定范围的文本作为选定文本。此方法实现为以主机组件中指定的颜色渲染文本。它假定高亮器将渲染选定的背景。- 参数:
-
g- 图形上下文 -
x- 起始X坐标 >= 0 -
y- 起始Y坐标 >= 0 -
p0- 模型中的起始位置 >= 0 -
p1- 模型中的结束位置 >= p0 - 返回:
- 范围结束的位置。
- 抛出:
-
BadLocationException- 如果范围无效 - 自JDK 9起:
- 9
-
getLineBuffer
提供可用于从关联文档中提取文本的缓冲区。- 返回:
- 缓冲区
-
calculateBreakPosition
protected int calculateBreakPosition(int p0, int p1) 嵌套的包装行视图调用此方法以确定断点位置。可以重新实现此方法以更改断点行为。它将根据在构造时给定的断点参数在单词边界或字符边界处断开。- 参数:
-
p0- 起始文档位置 -
p1- 要使用的结束文档位置 - 返回:
- 断点位置
-
loadChildren
加载所有子项以初始化视图。此方法由setParent方法调用。子类可以重新实现此方法以不同的方式初始化其子视图。默认实现为每个子元素创建一个子视图。- 覆盖:
-
loadChildren在类CompositeView中 - 参数:
-
f- 视图工厂 - 参见:
-
nextTabStop
public float nextTabStop(float x, int tabOffset) 返回给定参考位置后的下一个制表位位置。此实现不支持居中等功能,因此会忽略tabOffset参数。- 指定者:
-
nextTabStop在接口TabExpander中 - 参数:
-
x- 当前位置 >= 0 -
tabOffset- 文本流中制表符出现的位置 >= 0 - 返回:
- 制表位,以点为单位 >= 0
-
paint
使用给定的渲染表面和该表面上的区域进行渲染。这是为了存储选择位置、选择颜色和字体度量,以供嵌套行使用。 -
setSize
public void setSize(float width, float height) 设置视图的大小。如果视图有任何布局任务,这应该导致沿着给定轴的视图布局。 -
getPreferredSpan
public float getPreferredSpan(int axis) 确定此视图沿轴的首选跨度。这是为了在首先确保缓存当前字体度量之后提供超类行为(用于使用度量确定可能换行行的高度的嵌套行)。- 覆盖:
-
getPreferredSpan在类BoxView中 - 参数:
-
axis- 可能是View.X_AXIS或View.Y_AXIS - 返回:
- 视图希望被渲染到的跨度。通常告诉视图渲染返回的跨度,尽管不能保证。父级可能选择调整或分割视图。
- 参见:
-
getMinimumSpan
public float getMinimumSpan(int axis) 确定此视图沿轴的最小跨度。这是为了在首先确保缓存当前字体度量之后提供超类行为(用于使用度量确定可能换行行的高度的嵌套行)。- 覆盖:
-
getMinimumSpan在类BoxView中 - 参数:
-
axis- 可能是View.X_AXIS或View.Y_AXIS - 返回:
- 视图希望被渲染到的跨度。通常告诉视图渲染返回的跨度,尽管不能保证。父级可能选择调整或分割视图。
- 参见:
-
getMaximumSpan
public float getMaximumSpan(int axis) 确定此视图沿轴的最大跨度。这是为了在首先确保缓存当前字体度量之后提供超类行为(用于使用度量确定可能换行行的高度的嵌套行)。- 覆盖:
-
getMaximumSpan在类BoxView中 - 参数:
-
axis- 可能是View.X_AXIS或View.Y_AXIS - 返回:
- 视图希望被渲染到的跨度。通常告诉视图渲染返回的跨度,尽管不能保证。父级可能选择调整或分割视图。
- 参见:
-
insertUpdate
通知在文档中插入了此视图负责的位置。这是为了简单地更新子项。- 覆盖:
-
insertUpdate在类View中 - 参数:
-
e- 关联文档的更改信息 -
a- 视图的当前分配 -
f- 如果视图有子项,则用于重建的工厂 - 参见:
-
removeUpdate
通知从文档中删除了此视图负责的位置。这是为了简单地更新子项。- 覆盖:
-
removeUpdate在类View中 - 参数:
-
e- 关联文档的更改信息 -
a- 视图的当前分配 -
f- 如果视图有子项,则用于重建的工厂 - 参见:
-
changedUpdate
从文档中发出通知,指示此视图负责的位置的属性已更改。- 覆盖:
-
changedUpdate在类View中 - 参数:
-
e- 关联文档的更改信息 -
a- 视图的当前分配 -
f- 如果视图有子项,则用于重建的工厂 - 参见:
-
drawLine(int, int, Graphics2D, float, float)取代