java.lang.Object javax.swing.text.View javax.swing.text.CompositeView javax.swing.text.BoxView javax.swing.text.WrappedPlainView
public class WrappedPlainView
进行换行的纯文本(仅有一种字体和颜色的文本)视图。此视图期望其关联元素具有表示其应该换行的子元素。它实现为一个包含逻辑行视图的垂直框。逻辑行视图是嵌套类,如果逻辑行太宽以至于分配无法容纳时,这些类把逻辑行呈现为多个物理行。行视图针对其状态利用外部类来减少其内存需求。
行视图通过 drawLine
方法来执行其所有的呈现操作,此方法通过 drawSelectedText
和 drawUnselectedText
方法来依次执行其所有呈现操作。这使得子类能容易地专用于呈现而不考虑布局问题。
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.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 |
构造方法详细信息 |
---|
public WrappedPlainView(Element elem)
elem
- 作为视图基础的元素
public WrappedPlainView(Element elem, boolean wordWrap)
elem
- 作为视图基础的元素
wordWrap
- 应该在单词边界换行吗?
方法详细信息 |
---|
protected int getTabSize()
protected void drawLine(int p0, int p1, Graphics g, int x, int y)
drawUnselectedText
和
drawSelectedText
,以便自定义呈现选择和未选择文本的方式。
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)
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
BadLocationException
- 如果范围无效
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
- 如果范围无效
protected final Segment getLineBuffer()
protected int calculateBreakPosition(int p0, int p1)
protected void loadChildren(ViewFactory f)
setParent
方法调用。子类可以重新实现此方法以使用一种不同的方式初始化其子视图。默认的实现为每个子元素创建一个子视图。
CompositeView
中的
loadChildren
f
- 视图工厂
CompositeView.setParent(javax.swing.text.View)
public float nextTabStop(float x, int tabOffset)
TabExpander
中的
nextTabStop
x
- 当前位置,该值 >= 0
tabOffset
- 文本流中制表符出现的位置,该值 >= 0。
public void paint(Graphics g, Shape a)
g
- 要使用的呈现表面
a
- 要在其中呈现的分配区域
View.paint(java.awt.Graphics, java.awt.Shape)
public void setSize(float width, float height)
width
- 宽度,该值 >= 0
height
- 高度,该值 >= 0
public float getPreferredSpan(int axis)
BoxView
中的
getPreferredSpan
axis
- 可能是 View.X_AXIS 或者 View.Y_AXIS
View.getPreferredSpan(int)
public float getMinimumSpan(int axis)
BoxView
中的
getMinimumSpan
axis
- 可能是 View.X_AXIS 或者 View.Y_AXIS
View.getMinimumSpan(int)
public float getMaximumSpan(int axis)
BoxView
中的
getMaximumSpan
axis
- 可能是 View.X_AXIS 或者 View.Y_AXIS
View.getMaximumSpan(int)
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)
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)
public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
View
中的
changedUpdate
e
- 发自关联文档的更改信息
a
- 视图的当前分配
f
- 视图有子级时用于重建的工厂 View#changedUpdate