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_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
ConstructorDescriptionWrappedPlainView
(Element elem) 创建一个新的WrappedPlainView。WrappedPlainView
(Element elem, boolean wordWrap) 创建一个新的WrappedPlainView。 -
Method Summary
Modifier and TypeMethodDescriptionprotected int
calculateBreakPosition
(int p0, int p1) 嵌套的包装行视图调用此方法以确定断点位置。void
changedUpdate
(DocumentEvent e, Shape a, ViewFactory f) 从文档中接收通知,指示此视图负责的位置发生了属性更改。protected void
drawLine
(int p0, int p1, Graphics2D g, float x, float y) 渲染一行文本,忽略末尾的空格并展开任何制表符。protected void
已弃用。protected float
drawSelectedText
(Graphics2D g, float x, float y, int p0, int p1) 渲染模型中给定范围的文本作为选定文本。protected int
drawSelectedText
(Graphics g, int x, int y, int p0, int p1) protected float
drawUnselectedText
(Graphics2D g, float x, float y, int p0, int p1) 渲染模型中给定范围的文本作为普通未选定文本。protected int
drawUnselectedText
(Graphics g, int x, int y, int p0, int p1) protected final Segment
提供可用于从关联文档中提取文本的缓冲区。float
getMaximumSpan
(int axis) 确定此视图沿轴的最大跨度。float
getMinimumSpan
(int axis) 确定此视图沿轴的最小跨度。float
getPreferredSpan
(int axis) 确定此视图沿轴的首选跨度。protected int
返回为文档设置的制表符大小,默认为8。void
insertUpdate
(DocumentEvent e, Shape a, ViewFactory f) 从文档中接收通知,指示此视图负责的位置插入了内容。protected void
加载所有子项以初始化视图。float
nextTabStop
(float x, int tabOffset) 返回给定参考位置后的下一个制表位位置。void
使用给定的渲染表面和该表面上的区域进行渲染。void
removeUpdate
(DocumentEvent e, Shape a, ViewFactory f) 从文档中接收通知,指示此视图负责的位置删除了内容。void
setSize
(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, viewToModel
Methods declared in class javax.swing.text.CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, 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
-
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)
取代