JavaTM Platform
Standard Ed. 6

javax.swing.text
类 GlyphView.GlyphPainter

java.lang.Object
  继承者 javax.swing.text.GlyphView.GlyphPainter
正在封闭类:
GlyphView

public abstract static class GlyphView.GlyphPainter
extends Object

执行字形呈现的类。此类可实现为无状态的,或将某些信息存储为缓存,以便更快地呈现和模型/视图转换。至少,GlyphPainter 允许 View 实现独立于特定的 JVM 版本和功能选择(即向国际化并轨)来执行其职责。

从以下版本开始:
1.3

构造方法摘要
GlyphView.GlyphPainter()
           
 
方法摘要
abstract  float getAscent(GlyphView v)
           
abstract  int getBoundedPosition(GlyphView v, int p0, float x, float len)
          确定表示符合给定区域的最大 advance 的模型位置。
abstract  float getDescent(GlyphView v)
           
abstract  float getHeight(GlyphView v)
           
 int getNextVisualPositionFrom(GlyphView v, int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)
          提供确定下一个以可视化形式表示的模型位置的方法,用户可以在此位置放置一个插入符。
 GlyphView.GlyphPainter getPainter(GlyphView v, int p0, int p1)
          创建用于给定 GlyphView 的 painter。
abstract  float getSpan(GlyphView v, int p0, int p1, TabExpander e, float x)
          确定给定开始位置(相对于选项卡扩展而言)的字形区域。
abstract  Shape modelToView(GlyphView v, int pos, Position.Bias bias, Shape a)
          提供从文档模型坐标空间到所映射的视图坐标空间的映射。
abstract  void paint(GlyphView v, Graphics g, Shape a, int p0, int p1)
          绘制表示给定范围的字形。
abstract  int viewToModel(GlyphView v, float x, float y, Shape a, Position.Bias[] biasReturn)
          提供从视图坐标空间到模型逻辑坐标空间的映射。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

GlyphView.GlyphPainter

public GlyphView.GlyphPainter()
方法详细信息

getSpan

public abstract float getSpan(GlyphView v,
                              int p0,
                              int p1,
                              TabExpander e,
                              float x)
确定给定开始位置(相对于选项卡扩展而言)的字形区域。


getHeight

public abstract float getHeight(GlyphView v)

getAscent

public abstract float getAscent(GlyphView v)

getDescent

public abstract float getDescent(GlyphView v)

paint

public abstract void paint(GlyphView v,
                           Graphics g,
                           Shape a,
                           int p0,
                           int p1)
绘制表示给定范围的字形。


modelToView

public abstract Shape modelToView(GlyphView v,
                                  int pos,
                                  Position.Bias bias,
                                  Shape a)
                           throws BadLocationException
提供从文档模型坐标空间到所映射的视图坐标空间的映射。这由拆分后的视图共享。

参数:
v - 包含目标坐标空间的 GlyphView
pos - 要转换的位置
bias - 可以是 Position.Bias.Forward,也可以是 Position.Bias.Backward
a - 视图的边界
返回:
给定位置的边界框
抛出:
BadLocationException - 如果给定位置不表示相关文档中的有效位置
另请参见:
View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)

viewToModel

public abstract int viewToModel(GlyphView v,
                                float x,
                                float y,
                                Shape a,
                                Position.Bias[] biasReturn)
提供从视图坐标空间到模型逻辑坐标空间的映射。

参数:
v - 要为其提供映射的 GlyphView
x - X 坐标
y - Y 坐标
a - 要呈现的分配区域
biasReturn - 将 Position.Bias.ForwardPosition.Bias.Backward 返回,作为此数组中的第零个元素
返回:
模型中最能代表视图中给定点的位置
另请参见:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])

getBoundedPosition

public abstract int getBoundedPosition(GlyphView v,
                                       int p0,
                                       float x,
                                       float len)
确定表示符合给定区域的最大 advance 的模型位置。此方法可用于拆分给定的视图。结果应为一个不完全占用给定 advance 的位置。这与 viewToModel 不同,后者将返回充分利用最大 advance 的位置。

参数:
v - 查找在其处拆分的模型位置的视图。
p0 - 模型中片段应开始其表示形式的位置,该值 >= 0。
x - 沿已拆分视图可能占用的轴的图形位置,该值 >= 0。这可能对选项卡计算之类的情况有用。
len - 向需要潜在拆分的视图指定的距离,该值 >= 0.
返回:
能用于拆分的最大模型位置。
另请参见:
View.breakView(int, int, float, float)

getPainter

public GlyphView.GlyphPainter getPainter(GlyphView v,
                                         int p0,
                                         int p1)
创建用于给定 GlyphView 的 painter。如果该 painter 状态正常,则它可以创建另一个 painter 以表示正在创建的新 GlyphView。如果该 painter 未处于有效状态,则可能返回其自身。默认行为是返回其自身。

参数:
v - 要为其提供 painter 的 GlyphView
p0 - 初始文档偏移量,该值 >= 0
p1 - 结束文档偏移量,该值 >= p0

getNextVisualPositionFrom

public int getNextVisualPositionFrom(GlyphView v,
                                     int pos,
                                     Position.Bias b,
                                     Shape a,
                                     int direction,
                                     Position.Bias[] biasRet)
                              throws BadLocationException
提供确定下一个以可视化形式表示的模型位置的方法,用户可以在此位置放置一个插入符。有些视图可能不可见,它们可能与该模型中发现的顺序不同,或它们可能只是不允许访问该模型中的某些位置。

参数:
v - 要使用的视图
pos - 要转换的位置,该值 >= 0
b - 可以是 Position.Bias.Forward,也可以是 Position.Bias.Backward
a - 要呈现的分配区域
direction - 相对当前位置的方向,通常可视为键盘上找到的箭头键。此可以是 SwingConstants.WEST、SwingConstants.EAST、SwingConstants.NORTH 或 SwingConstants.SOUTH。
biasRet - 将 Position.Bias.ForwardPosition.Bias.Backward 作为此数组中的第零个元素返回
返回:
模型中最能表示下一个可视位置的位置。
抛出:
BadLocationException
IllegalArgumentException - 如果方向无效

JavaTM Platform
Standard Ed. 6

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

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