JavaTM Platform
Standard Ed. 6

javax.swing.text
类 PlainView

java.lang.Object
  继承者 javax.swing.text.View
      继承者 javax.swing.text.PlainView
所有已实现的接口:
SwingConstants, TabExpander
直接已知子类:
FieldView

public class PlainView
extends View
implements TabExpander

实现简单的多行文本视图的 View 接口,该文本视图的文本只有一种字体和颜色。该视图用每个子元素表示文本的某一行。

另请参见:
View

字段摘要
protected  FontMetrics metrics
          当前字体的字体规格。
 
从类 javax.swing.text.View 继承的字段
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
 
从接口 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
 
构造方法摘要
PlainView(Element elem)
          构造在元素上包装的新 PlainView。
 
方法摘要
 void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
          发出通知,通知文档中此视图负责的某个位置的属性已更改。
protected  void damageLineRange(int line0, int line1, Shape a, Component host)
          重新绘制给定的行范围。
protected  void drawLine(int lineIndex, Graphics g, int x, int y)
          呈现文本的某一行,取消末尾的空白并扩展所有的制表符。
protected  int drawSelectedText(Graphics g, int x, int 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 fx, float fy, Shape a, Position.Bias[] bias)
          提供从视图坐标空间到该模型的逻辑坐标空间的映射。
 
从类 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
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

metrics

protected FontMetrics metrics
当前字体的字体规格。

构造方法详细信息

PlainView

public PlainView(Element elem)
构造在元素上包装的新 PlainView。

参数:
elem - 元素
方法详细信息

getTabSize

protected int getTabSize()
返回文档中制表符大小的集合,默认值是 8。

返回:
制表符大小

drawLine

protected void drawLine(int lineIndex,
                        Graphics g,
                        int x,
                        int y)
呈现文本的某一行,取消末尾的空白并扩展所有的制表符。实现此方法以调用方法 drawUnselectedTextdrawSelectedText,这样可定制呈现选定和未选定文本的方法。

参数:
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)

drawUnselectedText

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 - 如果范围无效

drawSelectedText

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 - 如果范围无效

getLineBuffer

protected final Segment getLineBuffer()
提供对可用于从相关文档获取文本的缓冲区的访问。

返回:
缓冲区

updateMetrics

protected void updateMetrics()
检查字体规格和最长行是否最新。

从以下版本开始:
1.4

getPreferredSpan

public float getPreferredSpan(int axis)
确定此视图沿某轴的首选区域。

指定者:
View 中的 getPreferredSpan
参数:
axis - 可以是 View.X_AXIS 或 View.Y_AXIS
返回:
视图可能要在其中呈现的区域,该值 >= 0。通常会告知该视图在返回的区域中呈现,但不保证一定如此。父级可选择重新调整视图大小或拆分视图。
抛出:
IllegalArgumentException - 如果轴无效
另请参见:
View.getPreferredSpan(int)

paint

public void paint(Graphics g,
                  Shape a)
使用给定呈现面和该表面的区域呈现。该视图可能需要进行布置和创建子视图,以使它本身能够在给定的分配区域呈现。

指定者:
View 中的 paint
参数:
g - 要使用的呈现表面
a - 已分配的呈现区域
另请参见:
View.paint(java.awt.Graphics, java.awt.Shape)

modelToView

public Shape modelToView(int pos,
                         Shape a,
                         Position.Bias b)
                  throws BadLocationException
提供从文档模型坐标空间到所映射的视图坐标空间的映射。

指定者:
View 中的 modelToView
参数:
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 fx,
                       float fy,
                       Shape a,
                       Position.Bias[] bias)
提供从视图坐标空间到该模型的逻辑坐标空间的映射。

指定者:
View 中的 viewToModel
参数:
fx - X 坐标,该值 >= 0
fy - Y 坐标,该值 >= 0
a - 要呈现的分配区域
返回:
在模型内最能表示该视图中给定点的位置,该值 >= 0
另请参见:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])

insertUpdate

public void insertUpdate(DocumentEvent changes,
                         Shape a,
                         ViewFactory f)
发出通知,通知在文档中此视图负责的某个位置已插入内容。

覆盖:
View 中的 insertUpdate
参数:
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)
通知在文档中此视图负责的某个位置已插入内容。

覆盖:
View 中的 removeUpdate
参数:
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)
发出通知,通知文档中此视图负责的某个位置的属性已更改。

覆盖:
View 中的 changedUpdate
参数:
changes - 取自相关文档的更改信息
a - 视图的当前分配区域
f - 用于重建的工厂(如果该视图有子级)
另请参见:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

setSize

public void setSize(float width,
                    float height)
设置视图的大小。如果此方法有任何布局任务,则会导致沿给定的轴布局视图。

覆盖:
View 中的 setSize
参数:
width - 宽度 >= 0
height - 宽度 >= 0

nextTabStop

public float nextTabStop(float x,
                         int tabOffset)
在给定引用位置之后,返回下一个制表符停靠位的位置。此实现不支持诸如居中对齐一类的事情,所以它将忽略 tabOffset 参数。

指定者:
接口 TabExpander 中的 nextTabStop
参数:
x - 当前位置,该值 >= 0
tabOffset - 下一个流内出现制表符的位置,该值 >= 0。
返回:
以点为测量单位的制表位,该值 >= 0

updateDamage

protected void updateDamage(DocumentEvent changes,
                            Shape a,
                            ViewFactory f)
重新绘制给定文档事件覆盖的更改区域。对于只在一行上进行插入/移除的情况,破坏范围开始处的行。如果添加或移除多行,则破坏整个视图。检查最长的行以查看它是否更改。

从以下版本开始:
1.4

damageLineRange

protected void damageLineRange(int line0,
                               int line1,
                               Shape a,
                               Component host)
重新绘制给定的行范围。

参数:
host - 承载视图的组件(用于调用 repaint)
a - 视图所呈现的分配区域
line0 - 要重绘的起始行号。它必须是模型中的有效行号。
line1 - 要重绘的结束行号。它必须是模型中的有效行号。
从以下版本开始:
1.4

lineToRect

protected Rectangle lineToRect(Shape a,
                               int line)
确定表示给定行的矩形。

参数:
a - 视图要呈现的分配区域
line - 要查找的区域的行号。它必须是模型中的有效行号。
从以下版本开始:
1.4

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策