- java.lang.Object
-
- javax.swing.text.View
-
- javax.swing.text.PlainView
-
- All Implemented Interfaces:
-
SwingConstants
,TabExpander
- 已知直接子类:
-
FieldView
public class PlainView extends View implements TabExpander
实现一个简单的多行文本视图的视图界面,它具有一种字体和颜色的文本。 该视图将每个子元素表示为一行文本。- 另请参见:
-
View
-
-
Field Summary
Fields Modifier and Type Field 描述 protected FontMetrics
metrics
当前字体的字体指标。-
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
-
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 void
changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
在该视图负责的位置向文档发出属性更改的通知。protected void
damageLineRange(int line0, int line1, Shape a, Component host)
重复给定行范围。protected void
drawLine(int lineIndex, Graphics2D g, float x, float y)
渲染一行文本,最终抑制空格并展开任何标签。protected void
drawLine(int lineIndex, 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
getPreferredSpan(int axis)
确定沿着轴的此视图的首选跨度。protected int
getTabSize()
返回为文档设置的选项卡大小,默认为8。void
insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
在该视图负责的位置发出通知。protected Rectangle
lineToRect(Shape a, int line)
确定表示给定行的矩形。Shape
modelToView(int pos, Shape a, Position.Bias b)
提供从文档模型坐标空间映射到映射到它的视图的坐标空间的映射。float
nextTabStop(float x, int tabOffset)
返回给定参考位置后的下一个制表位置停止位置。void
paint(Graphics g, Shape a)
渲染使用给定的渲染表面和该表面上的区域。void
removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
在该视图负责的位置发出文档中已删除某些内容的通知。void
setSize(float width, float height)
设置视图的大小。protected void
updateDamage(DocumentEvent changes, Shape a, ViewFactory f)
重印给定文件事件所涉及的变化区域。protected void
updateMetrics()
检查字体指标和最长行是否是最新的。int
viewToModel(float x, float y, Shape a, Position.Bias[] bias)
提供从视图坐标空间到模型的逻辑坐标空间的映射。-
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, forwardUpdate, forwardUpdateToView, getAlignment, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getMaximumSpan, getMinimumSpan, getNextVisualPositionFrom, getParent, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, replace, setParent, updateChildren, updateLayout, viewToModel
-
-
-
-
字段详细信息
-
metrics
protected FontMetrics metrics
当前字体的字体指标。
-
-
构造方法详细信息
-
PlainView
public PlainView(Element elem)
构造一个包含在元素上的新PlainView。- 参数
-
elem
- 元素
-
-
方法详细信息
-
getTabSize
protected int getTabSize()
返回为文档设置的选项卡大小,默认为8。- 结果
- 标签大小
-
drawLine
@Deprecated(since="9") protected void drawLine(int lineIndex, Graphics g, int x, int y)
渲染一行文本,最终抑制空格并展开任何标签。 这被实现为调用方法drawUnselectedText
和drawSelectedText
,使得可以自定义选择和未选择的文本的方式。- 参数
-
lineIndex
- 绘制线=> 0 -
g
-Graphics
上下文 -
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 lineIndex, Graphics2D g, float x, float y)
渲染一行文本,最终抑制空格并展开任何标签。 这被实现为调用方法drawUnselectedText
和drawSelectedText
,使得可以自定义选择和未选择的文本的方式。- 参数
-
lineIndex
- 绘制线>= 0
-
g
-Graphics
上下文 -
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
- 模型中的结束位置> = 0 - 结果
- 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
- 模型中的结束位置>= 0
- 结果
-
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
- 模型中的结束位置> = 0 - 结果
- 位置的范围结束
- 异常
-
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
- 模型中的结束位置>= 0
- 结果
- 位置的范围结束
- 异常
-
BadLocationException
- 如果范围无效 - 从以下版本开始:
- 9
-
getLineBuffer
protected final Segment getLineBuffer()
可以访问可用于从相关文档中获取文本的缓冲区。- 结果
- 缓冲区
-
updateMetrics
protected void updateMetrics()
检查字体指标和最长行是否是最新的。- 从以下版本开始:
- 1.4
-
getPreferredSpan
public float getPreferredSpan(int axis)
确定沿着轴的此视图的首选跨度。- Specified by:
-
getPreferredSpan
在View
- 参数
-
axis
- 可以是View.X_AXIS或View.Y_AXIS - 结果
- 视图想要呈现为> = 0的跨度。通常,视图被呈现到返回的跨度,尽管不能保证。 父母可以选择调整大小或打破视图。
- 异常
-
IllegalArgumentException
- 对于无效轴 - 另请参见:
-
View.getPreferredSpan(int)
-
paint
public void paint(Graphics g, Shape a)
渲染使用给定的渲染表面和该表面上的区域。 该视图可能需要进行布局并创建子视图,以使其自身能够呈现给定的分配。- Specified by:
-
paint
在View
- 参数
-
g
- 要使用的渲染表面 -
a
- 要分配的区域 - 另请参见:
-
View.paint(java.awt.Graphics, java.awt.Shape)
-
modelToView
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
提供从文档模型坐标空间映射到映射到它的视图的坐标空间的映射。- Specified by:
-
modelToView
在View
- 参数
-
pos
- 转换> = 0的位置 -
a
- 要分配的区域 -
b
- 在位置是两个视图的边界的情况下,偏移朝向前一个字符或由偏移表示的下一个字符;b
将具有以下值之一:-
Position.Bias.Forward
-
Position.Bias.Backward
-
- 结果
- 给定位置的边界框
- 异常
-
BadLocationException
- 如果给定的位置不表示相关文档中的有效位置 - 另请参见:
-
View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)
-
viewToModel
public int viewToModel(float x, float y, Shape a, Position.Bias[] bias)
提供从视图坐标空间到模型的逻辑坐标空间的映射。- Specified by:
-
viewToModel
在View
- 参数
-
x
- X坐标> = 0 -
y
- Y坐标> = 0 -
a
- 要分配的区域 -
bias
- 返回的偏差 - 结果
- 模型中的位置最好地表示视图> = 0中的给定点
- 另请参见:
-
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
-
insertUpdate
public void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
在该视图负责的位置发出通知。- 重写:
-
insertUpdate
类View
- 参数
-
changes
- 相关文件的更改信息 -
a
- 视图的当前分配 -
f
- 工厂用来重建如果视图有孩子 - 另请参见:
-
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
removeUpdate
public void removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
在该视图负责的位置发出文档中已删除某些内容的通知。- 重写:
-
removeUpdate
在View
- 参数
-
changes
- 相关文件的更改信息 -
a
- 视图的当前分配 -
f
- 工厂用来重建如果视图有孩子 - 另请参见:
-
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
changedUpdate
public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
在该视图负责的位置向文档发出属性更改的通知。- 重写:
-
changedUpdate
在View
- 参数
-
changes
- 相关文件的变更信息 -
a
- 视图的当前分配 -
f
- 如果视图有孩子,工厂要重建 - 另请参见:
-
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
setSize
public void setSize(float width, float height)
设置视图的大小。 这应该导致沿着给定轴的视图的布局,如果它有任何布局义务。
-
nextTabStop
public float nextTabStop(float x, int tabOffset)
返回给定参考位置后的下一个制表位置停止位置。 这个实现不支持像中心的东西,所以它忽略了tabOffset参数。- Specified by:
-
nextTabStop
在接口TabExpander
- 参数
-
x
- 当前位置> = 0 -
tabOffset
- 标签出现在> = 0的文本流内的位置。 - 结果
- 标签停止,以>> 0测量
-
updateDamage
protected void updateDamage(DocumentEvent changes, Shape a, ViewFactory f)
重印给定文件事件所涉及的变化区域。 当插入/移除仅在一行时,损害开始范围的行以覆盖案例。 如果添加或删除行,将损害整个视图。 检查最长的行是否已更改。- 参数
-
changes
- 相关文件的变更信息 -
a
- 视图的当前分配 -
f
- 工厂用来重建如果视图有孩子 - 从以下版本开始:
- 1.4
-
damageLineRange
protected void damageLineRange(int line0, int line1, Shape a, Component host)
重复给定行范围。- 参数
-
host
- 托管视图的组件(用于调用重绘) -
a
- 分配给视图进行渲染的区域 -
line0
- 要重绘的起始行号。 这必须是模型中有效的行号。 -
line1
- 要重绘的结束行号。 这必须是模型中有效的行号。 - 从以下版本开始:
- 1.4
-
-