- java.lang.Object
-
- javax.swing.text.View
-
- javax.swing.text.CompositeView
-
- javax.swing.text.BoxView
-
- javax.swing.text.WrappedPlainView
-
- All Implemented Interfaces:
-
SwingConstants
,TabExpander
public class WrappedPlainView extends BoxView implements TabExpander
查看纯文本(只有一种字体和颜色的文本),进行换行。 该视图期望它的相关元素具有代表它应该包装的线的子元素。 它被实现为包含逻辑行视图的垂直框。 逻辑行视图是嵌套类,如果逻辑行太宽以至于不能分配,则将逻辑行渲染为多个物理行。 线视图利用外部类进行状态以减少其内存要求。线条视图通过
drawLine
方法进行所有渲染,而drawSelectedText
又通过drawSelectedText
和drawUnselectedText
方法进行所有渲染。 这使子类可以轻松地专注于渲染,而不用担心布局方面。- 另请参见:
-
View
-
-
Field Summary
-
Fields inherited from 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
-
Fields inherited from class javax.swing.text.View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
-
-
构造方法摘要
构造方法 Constructor 描述 WrappedPlainView(Element elem)
创建一个新的WrappedPlainView。WrappedPlainView(Element elem, boolean wordWrap)
创建一个新的WrappedPlainView。
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 protected 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
drawLine(int p0, int p1, Graphics g, int x, int y)
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 Segment
getLineBuffer()
可以访问可用于从相关文档中获取文本的缓冲区。float
getMaximumSpan(int axis)
确定沿着轴的该视图的最大跨度。float
getMinimumSpan(int axis)
确定此视图沿轴的最小跨度。float
getPreferredSpan(int axis)
确定沿着轴的此视图的首选跨度。protected int
getTabSize()
返回为文档设置的选项卡大小,默认为8。void
insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
在该视图负责的位置发出通知。protected void
loadChildren(ViewFactory f)
加载所有的孩子以初始化视图。float
nextTabStop(float x, int tabOffset)
返回给定参考位置后的下一个制表位置停止位置。void
paint(Graphics g, Shape a)
渲染使用给定的渲染表面和该表面上的区域。void
removeUpdate(DocumentEvent e, Shape a, ViewFactory f)
在该视图负责的位置发出文档中已删除某些内容的通知。void
setSize(float width, float height)
设置视图的大小。-
Methods inherited from 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 inherited from class javax.swing.text.CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, modelToView, setInsets, setParagraphInsets, setParent
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from 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
-
-
-
-
方法详细信息
-
getTabSize
protected int getTabSize()
返回为文档设置的选项卡大小,默认为8。- 结果
- 标签大小
-
drawLine
@Deprecated(since="9") protected void drawLine(int p0, int p1, Graphics g, int x, int y)
渲染一行文本,最终抑制空格并展开任何标签。 这被实现为调用方法drawUnselectedText
和drawSelectedText
,使得可以自定义选择和未选择的文本的方式。- 参数
-
p0
- 要使用的起始文档位置> = 0 -
p1
- 要使用的结束文档位置> = p1 -
g
- 图形上下文 -
x
- 起始X位置> = 0 -
y
- 起始Y位置> = 0 - 另请参见:
-
drawUnselectedText(java.awt.Graphics, int, int, int, int)
,drawSelectedText(java.awt.Graphics, int, int, int, int)
-
drawLine
protected void drawLine(int p0, int p1, Graphics2D g, float x, float y)
渲染一行文本,最终抑制空格并展开任何标签。 这实现为调用方法drawUnselectedText
和drawSelectedText
,使得可以自定义选择和未选择的文本的方式。- 参数
-
p0
- 要使用的起始文档位置> = 0 -
p1
- 要使用的结束文件位置> = p1 -
g
- 图形上下文 -
x
- 起始X位置> = 0 -
y
- 起始Y位置> = 0 - 从以下版本开始:
- 9
- 另请参见:
-
drawUnselectedText(java.awt.Graphics, int, int, int, int)
,drawSelectedText(java.awt.Graphics, int, int, int, int)
-
drawUnselectedText
@Deprecated(since="9") protected int drawUnselectedText(Graphics g, int x, int y, int p0, int p1) throws BadLocationException
将模型中的给定范围呈现为正常未选择的文本。- 参数
-
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
- 如果范围无效 - 从以下版本开始:
- 9
-
drawSelectedText
@Deprecated(since="9") protected int drawSelectedText(Graphics g, int x, int y, int p0, int p1) throws BadLocationException
将模型中的给定范围渲染为所选文本。 这被实现为以主机组件中指定的颜色呈现文本。 它假设荧光笔将渲染所选的背景。- 参数
-
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
- 如果范围无效 - 从以下版本开始:
- 9
-
getLineBuffer
protected final Segment getLineBuffer()
可以访问可用于从相关文档中获取文本的缓冲区。- 结果
- 缓冲区
-
calculateBreakPosition
protected int calculateBreakPosition(int p0, int p1)
这被嵌套的包装线视图调用来确定断点位置。 这可以被重新实现以改变破坏行为。 根据施工中的断裂说明,它将以字或字符边界断裂。- 参数
-
p0
- 起始文件的位置 -
p1
- 要使用的结束文件位置 - 结果
- 休息位置
-
loadChildren
protected void loadChildren(ViewFactory f)
加载所有的孩子以初始化视图。 这是由setParent
方法调用的。 子类可以重新实现,以不同的方式初始化其子视图。 默认实现为每个子元素创建一个子视图。- 重写:
-
loadChildren
在CompositeView
- 参数
-
f
- 视图工厂 - 另请参见:
-
CompositeView.setParent(javax.swing.text.View)
-
nextTabStop
public float nextTabStop(float x, int tabOffset)
返回给定参考位置后的下一个制表位置停止位置。 这个实现不支持像中心的东西,所以它忽略了tabOffset参数。- Specified by:
-
nextTabStop
在接口TabExpander
- 参数
-
x
- 当前位置> = 0 -
tabOffset
- 标签发生在> = 0的文本流内的位置。 - 结果
- 标签停止,以>> 0测量
-
paint
public void paint(Graphics g, Shape a)
渲染使用给定的渲染表面和该表面上的区域。 这被实现为隐藏要使用的嵌套行的选择位置,选择颜色和字体度量。- 重写:
-
paint
在BoxView
- 参数
-
g
- 要使用的渲染表面 -
a
- 要分配的区域 - 另请参见:
-
View.paint(java.awt.Graphics, java.awt.Shape)
-
setSize
public void setSize(float width, float height)
设置视图的大小。 这应该导致沿着给定轴的视图的布局,如果它有任何布局义务。
-
getPreferredSpan
public float getPreferredSpan(int axis)
确定沿着轴的此视图的首选跨度。 首先确保当前字体指标被缓存(对于使用度量的嵌套行来确定潜在的缠绕行的高度),这是实现为提供超类行为。- 重写:
-
getPreferredSpan
在BoxView
- 参数
-
axis
- 可以是View.X_AXIS或View.Y_AXIS - 结果
- 视图想要渲染的跨度。 通常,视图被呈现到返回的跨度,尽管不能保证。 父母可以选择调整大小或打破视图。
- 另请参见:
-
View.getPreferredSpan(int)
-
getMinimumSpan
public float getMinimumSpan(int axis)
确定此视图沿轴的最小跨度。 首先确保当前字体指标被缓存(对于使用度量的嵌套行来确定潜在的缠绕行的高度),这是实现为提供超类行为。- 重写:
-
getMinimumSpan
在BoxView
- 参数
-
axis
- 可以是View.X_AXIS或View.Y_AXIS - 结果
- 视图想要渲染的跨度。 通常,视图被呈现到返回的跨度,尽管不能保证。 父母可以选择调整大小或打破视图。
- 另请参见:
-
View.getMinimumSpan(int)
-
getMaximumSpan
public float getMaximumSpan(int axis)
确定沿着轴的该视图的最大跨度。 首先确保当前字体指标被缓存(对于使用度量的嵌套行来确定潜在的缠绕行的高度),这是实现为提供超类行为。- 重写:
-
getMaximumSpan
在BoxView
- 参数
-
axis
- 可以是View.X_AXIS或View.Y_AXIS - 结果
- 视图想要渲染的跨度。 通常,视图被呈现到返回的跨度,尽管不能保证。 父母可以选择调整大小或打破视图。
- 另请参见:
-
View.getMaximumSpan(int)
-
insertUpdate
public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
在该视图负责的位置发出通知。 这是为了简单地更新孩子而实现的。- 重写:
-
insertUpdate
在View
- 参数
-
e
- 相关文件的更改信息 -
a
- 当前分配的视图 -
f
- 工厂用来重建如果视图有孩子 - 另请参见:
-
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
removeUpdate
public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)
在该视图负责的位置发出文档中已删除某些内容的通知。 这是为了简单地更新孩子而实现的。- 重写:
-
removeUpdate
在View
- 参数
-
e
- 相关文件的更改信息 -
a
- 视图的当前分配 -
f
- 工厂使用重建如果视图有孩子 - 另请参见:
-
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
changedUpdate
public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
在该视图负责的位置向文档发出属性更改的通知。- 重写:
-
changedUpdate
在View
- 参数
-
e
- 相关文件的变更信息 -
a
- 视图的当前分配 -
f
- 工厂使用重建如果视图有孩子 - 另请参见:
-
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
-