JavaTM Platform
Standard Ed. 6

javax.swing.text
类 WrappedPlainView

java.lang.Object
  继承者 javax.swing.text.View
      继承者 javax.swing.text.CompositeView
          继承者 javax.swing.text.BoxView
              继承者 javax.swing.text.WrappedPlainView
所有已实现的接口:
SwingConstants, TabExpander

public class WrappedPlainView
extends BoxView
implements TabExpander

进行换行的纯文本(仅有一种字体和颜色的文本)视图。此视图期望其关联元素具有表示其应该换行的子元素。它实现为一个包含逻辑行视图的垂直框。逻辑行视图是嵌套类,如果逻辑行太宽以至于分配无法容纳时,这些类把逻辑行呈现为多个物理行。行视图针对其状态利用外部类来减少其内存需求。

行视图通过 drawLine 方法来执行其所有的呈现操作,此方法通过 drawSelectedTextdrawUnselectedText 方法来依次执行其所有呈现操作。这使得子类能容易地专用于呈现而不考虑布局问题。

另请参见:
View

字段摘要
 
从类 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
 
构造方法摘要
WrappedPlainView(Element elem)
          创建一个新的 WrappedPlainView。
WrappedPlainView(Element elem, boolean wordWrap)
          创建一个新的 WrappedPlainView。
 
方法摘要
protected  int calculateBreakPosition(int p0, int p1)
          此方法由嵌套换行视图调用,以确定拆分位置。
 void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
          发出文档中此视图负责的位置上的属性已发生更改的通知。
protected  void drawLine(int p0, int p1, 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 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)
          设置视图的大小。
 
从类 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
 
从类 javax.swing.text.CompositeView 继承的方法
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, modelToView, setInsets, setParagraphInsets, setParent
 
从类 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
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

WrappedPlainView

public WrappedPlainView(Element elem)
创建一个新的 WrappedPlainView。将在字符边界换行。

参数:
elem - 作为视图基础的元素

WrappedPlainView

public WrappedPlainView(Element elem,
                        boolean wordWrap)
创建一个新的 WrappedPlainView。可以在字符或者单词边界换行,具体取决于 wordWrap 参数的设置。

参数:
elem - 作为视图基础的元素
wordWrap - 应该在单词边界换行吗?
方法详细信息

getTabSize

protected int getTabSize()
返回文档的制表符大小设置,默认为 8。

返回:
制表符大小

drawLine

protected void drawLine(int p0,
                        int p1,
                        Graphics g,
                        int x,
                        int y)
取消结尾空格并扩展所有制表符,从而呈现一行文本。实现此方法来调用方法 drawUnselectedTextdrawSelectedText,以便自定义呈现选择和未选择文本的方式。

参数:
p0 - 要使用的文档起始位置,该值 >= 0
p1 - 要使用的文档结尾位置,该值 >= p0
g - 图形上下文
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 - 模型中的结束位置,该值 >= p0
返回:
结尾范围的 X 位置,该值 >= 0
抛出:
BadLocationException - 如果范围无效

drawSelectedText

protected int drawSelectedText(Graphics g,
                               int x,
                               int y,
                               int p0,
                               int p1)
                        throws BadLocationException
将模型中给定的范围呈现为所选文本。实现此方法以使用承载组件中指定的颜色来呈现文本。假定 highlighter 将呈现所选背景。

参数:
g - 图形上下文
x - 起始 X 坐标,该值 >= 0
y - 起始 Y 坐标,该值 >= 0
p0 - 模型中的开始位置,该值 >= 0
p1 - 模型中的结束位置,该值 >= p0
返回:
范围结尾处的位置
抛出:
BadLocationException - 如果范围无效

getLineBuffer

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

返回:
缓冲区

calculateBreakPosition

protected int calculateBreakPosition(int p0,
                                     int p1)
此方法由嵌套换行视图调用,以确定拆分位置。可以重新实现此方法来改变拆分行为。它将在单词还是字符边界分解,取决于在构造方法中给定的拆分参数。


loadChildren

protected void loadChildren(ViewFactory f)
加载所有子级来初始化视图。此方法由 setParent 方法调用。子类可以重新实现此方法以使用一种不同的方式初始化其子视图。默认的实现为每个子元素创建一个子视图。

覆盖:
CompositeView 中的 loadChildren
参数:
f - 视图工厂
另请参见:
CompositeView.setParent(javax.swing.text.View)

nextTabStop

public float nextTabStop(float x,
                         int tabOffset)
返回给定引用位置之后的下一个制表位位置。此实现不支持诸如居中之类的操作,所以它会忽略 tabOffset 参数。

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

paint

public void paint(Graphics g,
                  Shape a)
使用给定的呈现表面和表现上的区域来呈现。实现此方法来隐藏供嵌套行使用的选择位置、选择颜色和字体规格。

覆盖:
BoxView 中的 paint
参数:
g - 要使用的呈现表面
a - 要在其中呈现的分配区域
另请参见:
View.paint(java.awt.Graphics, java.awt.Shape)

setSize

public void setSize(float width,
                    float height)
设置视图的大小。如果此方法有任何布局的职责,则它将促使视图沿给定轴进行布局。

覆盖:
BoxView 中的 setSize
参数:
width - 宽度,该值 >= 0
height - 高度,该值 >= 0

getPreferredSpan

public float getPreferredSpan(int axis)
确定此视图沿某个轴的首选跨距。实现此方法以在第一次确保当前字体规格已被缓存(对于使用该规格来确定可能的换行高度的嵌套行而言)后提供超类的行为。

覆盖:
BoxView 中的 getPreferredSpan
参数:
axis - 可能是 View.X_AXIS 或者 View.Y_AXIS
返回:
将要在其中呈现视图的跨距。通常告知视图呈现在返回的跨距中,但并不保证如此。父级可能选择调整视图大小或者拆分视图。
另请参见:
View.getPreferredSpan(int)

getMinimumSpan

public float getMinimumSpan(int axis)
确定此视图沿某个轴的最小跨距。实现此方法以在第一次确保当前字体规格已被缓存(对于使用该规格来确定可能的换行高度的嵌套行而言)后提供超类的行为。

覆盖:
BoxView 中的 getMinimumSpan
参数:
axis - 可能是 View.X_AXIS 或者 View.Y_AXIS
返回:
视图可能想要在其中呈现的跨距。通常告知视图呈现在返回的跨距中,但并不保证如此。父级可能选择调整视图大小或者拆分视图。
另请参见:
View.getMinimumSpan(int)

getMaximumSpan

public float getMaximumSpan(int axis)
确定此视图沿某个轴的最大跨距。实现此方法以在第一次确保当前字体规格已被缓存(对于使用该规格来确定可能的换行高度的嵌套行而言)后提供超类的行为。

覆盖:
BoxView 中的 getMaximumSpan
参数:
axis - 可能是 View.X_AXIS 或者 View.Y_AXIS
返回:
视图可能想要在其中呈现的跨距。通常告知视图呈现在返回的跨距中,但并不保证如此。父级可能选择调整视图大小或者拆分视图。
另请参见:
View.getMaximumSpan(int)

insertUpdate

public void insertUpdate(DocumentEvent e,
                         Shape a,
                         ViewFactory f)
发出在文档中此视图负责的位置插入了某些内容的通知。实现此方法以便只更新子级。

覆盖:
View 中的 insertUpdate
参数:
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)
发出从文档中此视图负责的位置移除了某些内容的通知。实现此方法以便只更新子级。

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

覆盖:
View 中的 changedUpdate
参数:
e - 发自关联文档的更改信息
a - 视图的当前分配
f - 视图有子级时用于重建的工厂 View#changedUpdate

JavaTM Platform
Standard Ed. 6

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

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