java.lang.Object
javax.swing.text.View
javax.swing.text.GlyphView
- 所有已实现的接口:
Cloneable,SwingConstants,TabableView
- 已知子类:
LabelView
GlyphView 是一段样式化的文本块,表示映射到文本模型中的元素上的视图。该视图通常负责以某种方式使用字符级属性显示文本字形。 GlyphPainter 类的实现用于执行实际的渲染和模型/视图转换。这将渲染与模型关联的布局和管理分开。
该视图支持以格式化为目的的中断。 breaking 产生的片段共享对元素有主要责任的视图(即它们是内部类并且只携带少量自己的状态)因此它们可以共享其资源。
由于此视图表示可能嵌入了选项卡的文本,因此它实现了 TabableView 接口。仅当此视图嵌入到进行选项卡扩展的容器中时,选项卡才会扩展。 ParagraphView 是进行选项卡扩展的容器示例。
- 自从:
- 1.3
-
内部类总结
内部类 -
字段摘要
在类 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 -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述breakView(int axis, int p0, float pos, float len) 在给定长度的给定轴上打破此视图。voidchangedUpdate(DocumentEvent e, Shape a, ViewFactory f) 从文档发出通知,通知该视图负责的位置的属性已更改。protected void检查是否存在字形绘制器。protected final Objectclone()创建一个浅拷贝。createFragment(int p0, int p1) 创建表示元素一部分的视图。floatgetAlignment(int axis) 确定此视图沿轴的所需对齐方式。获取背景颜色以用于呈现字形。intgetBreakWeight(int axis, float pos, float len) 确定此视图中休息机会的吸引力。int获取此视图负责的模型部分。getFont()获取字形应基于的字体。获取前景色以用于呈现字形。获取当前安装的字形绘制器。floatgetMinimumSpan(int axis) 确定此视图沿轴的最小跨度。intgetNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) 提供一种方法来确定下一个可能放置插入符号的可视化模型位置。floatgetPartialSpan(int p0, int p1) 确定与部分视图的选项卡扩展沿同一轴的跨度。floatgetPreferredSpan(int axis) 确定此视图沿轴的首选跨度。int获取此视图负责的模型部分。floatgetTabbedSpan(float x, TabExpander e) 使用给定的选项卡扩展实现时确定所需的跨度。如果此视图中存在选项卡,则获取要使用的 TabExpander。getText(int p0, int p1) 获取对占据给定范围的文本的引用。voidinsertUpdate(DocumentEvent e, Shape a, ViewFactory f) 通知某些内容已插入文档中此视图负责的位置。boolean确定字形是否应该有删除线。boolean确定字形是否应呈现为上标。boolean确定字形是否应呈现为下标。boolean确定字形是否应加下划线。modelToView(int pos, Shape a, Position.Bias b) 提供从文档模型坐标空间到映射到它的视图的坐标空间的映射。void呈现文本样式运行的一部分。voidremoveUpdate(DocumentEvent e, Shape a, ViewFactory f) 通知此视图负责的位置从文档中删除了某些内容。void设置用于渲染字形的绘制器。intviewToModel(float x, float y, Shape a, Position.Bias[] biasReturn) 提供从视图坐标空间到模型的逻辑坐标空间的映射。在类 javax.swing.text.View 中声明的方法
append, forwardUpdate, forwardUpdateToView, getAttributes, getChildAllocation, getContainer, getDocument, getElement, getGraphics, getMaximumSpan, getParent, getResizeWeight, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, replace, setParent, setSize, updateChildren, updateLayout, viewToModel
-
构造方法详细信息
-
GlyphView
构造一个包裹在元素上的新视图。- 参数:
elem- 元素
-
-
方法详情
-
clone
创建一个浅拷贝。这由 createFragment 和 breakView 方法使用。 -
getGlyphPainter
获取当前安装的字形绘制器。如果尚未安装绘制器,并且还不需要默认值,则返回 null。- 返回:
- 当前安装的字形绘制器
-
setGlyphPainter
设置用于渲染字形的绘制器。- 参数:
p- 用于渲染字形的绘制器
-
getText
获取对占据给定范围的文本的引用。这通常由 GlyphPainter 用来确定它应该为哪些字符呈现字形。- 参数:
p0- 起始文档偏移量 >= 0p1- 结束文档偏移量 >= p0- 返回:
-
包含文本的
Segment
-
getBackground
获取背景颜色以用于呈现字形。如果没有背景颜色,则应返回 null。如果关联文档是带样式的文档,则执行此调用以调用StyledDocument.getBackground,否则返回 null。- 返回:
- 用于呈现字形的背景颜色
-
getForeground
获取前景色以用于呈现字形。如果没有前景色,则应返回 null。如果关联的文档是 StyledDocument,则执行此调用以调用StyledDocument.getBackground。如果关联文档不是 StyledDocument,则使用关联组件的前景色。如果没有关联的组件,则返回 null。- 返回:
- 用于呈现字形的前景色
-
getFont
获取字形应基于的字体。如果关联的文档是 StyledDocument,则执行此调用以调用StyledDocument.getFont。如果关联文档不是 StyledDocument,则使用关联组件字体。如果没有关联的组件,则返回 null。- 返回:
- 字形应基于的字体
-
isUnderline
public boolean isUnderline()确定字形是否应加下划线。如果为真,则应通过基线绘制下划线。- 返回:
- 如果字形应该加下划线
-
isStrikeThrough
public boolean isStrikeThrough()确定字形是否应该有删除线。如果为真,则应通过字形的中心绘制一条线。- 返回:
- 如果字形应该有删除线
-
isSubscript
public boolean isSubscript()确定字形是否应呈现为上标。- 返回:
- 字形是否应呈现为上标
-
isSuperscript
public boolean isSuperscript()确定字形是否应呈现为下标。- 返回:
- 字形是否应呈现为下标
-
getTabExpander
如果此视图中存在选项卡,则获取要使用的 TabExpander。- 返回:
- 如果此视图中存在选项卡,则使用 TabExpander
-
checkPainter
protected void checkPainter()检查是否存在字形绘制器。如果绘制器不存在,将安装默认的字形绘制器。 -
getTabbedSpan
使用给定的选项卡扩展实现时确定所需的跨度。- 指定者:
getTabbedSpan在接口TabableView中- 参数:
x- 为了选项卡扩展 >= 0,视图所在的位置。e- 遇到时如何展开选项卡。- 返回:
- 所需的跨度 >= 0
- 参见:
-
getPartialSpan
public float getPartialSpan(int p0, int p1) 确定与部分视图的选项卡扩展沿同一轴的跨度。这旨在供 TabExpander 用于制表符扩展涉及将没有空格的文本部分相对于制表位对齐的情况。因此假设给定的范围不包含制表符。可以在服务 getTabbedSpan 或 getPreferredSize 时调用此方法。它必须安排自己的文本缓冲区来进行测量。
- 指定者:
getPartialSpan在接口TabableView中- 参数:
p0- 起始文档偏移量 >= 0p1- 结束文档偏移量 >= p0- 返回:
- 跨度 >= 0
-
getStartOffset
public int getStartOffset()获取此视图负责的模型部分。- 重写:
getStartOffset在类View中- 返回:
- 模型的起始偏移量
- 参见:
-
getEndOffset
public int getEndOffset()获取此视图负责的模型部分。- 重写:
getEndOffset在类View中- 返回:
- 模型的结束偏移量
- 参见:
-
paint
呈现文本样式运行的一部分。 -
getMinimumSpan
public float getMinimumSpan(int axis) 确定此视图沿轴的最小跨度。此实现返回视图中最长的不可破坏区域作为
View.X_AXIS的最小跨度。- 重写:
getMinimumSpan在类View中- 参数:
axis- 可能是View.X_AXIS或View.Y_AXIS- 返回:
- 视图可以渲染到的最小跨度
- 抛出:
IllegalArgumentException- 如果axis参数无效- 参见:
-
getPreferredSpan
public float getPreferredSpan(int axis) 确定此视图沿轴的首选跨度。- 指定者:
getPreferredSpan在类View中- 参数:
axis- 可以是 View.X_AXIS 或 View.Y_AXIS- 返回:
- 视图要渲染到 >= 0 的跨度。通常,视图被告知要渲染到返回的跨度中,尽管不能保证。父级可以选择调整大小或打破视图。
-
getAlignment
public float getAlignment(int axis) 确定此视图沿轴的所需对齐方式。对于标签,对齐是沿着 y 轴的字体基线,以及沿着 x 轴的超类对齐。- 重写:
getAlignment在类View中- 参数:
axis- 可以是 View.X_AXIS 或 View.Y_AXIS- 返回:
- 所需的对齐方式。这应该是一个介于 0.0 和 1.0 之间的值,其中 0 表示对齐原点,1.0 表示对齐远离原点的整个跨度。 0.5 的对齐将是视图的中心。
-
modelToView
提供从文档模型坐标空间到映射到它的视图的坐标空间的映射。- 指定者:
modelToView在类View中- 参数:
pos- 要转换的位置 >= 0a- 要渲染到的分配区域b-Position.Bias.Forward或Position.Bias.Backward- 返回:
- 给定位置的边界框
- 抛出:
BadLocationException- 如果给定位置不代表相关文档中的有效位置- 参见:
-
viewToModel
提供从视图坐标空间到模型的逻辑坐标空间的映射。- 指定者:
viewToModel在类View中- 参数:
x- X 坐标 >= 0y- Y 坐标 >= 0a- 要渲染到的分配区域biasReturn-Position.Bias.Forward或Position.Bias.Backward作为该数组的第零个元素返回- 返回:
- 模型中最能代表给定观点的位置 >= 0
- 参见:
-
getBreakWeight
public int getBreakWeight(int axis, float pos, float len) 确定此视图中休息机会的吸引力。这可用于确定在格式化过程中哪个视图最有吸引力调用breakView。权重越高,突破越有吸引力。不应将等于或小于View.BadBreakWeight的值视为中断。大于或等于View.ForcedBreakWeight的值应该被打破。这是为了转发到 Y_AXIS 的超类而实现的。沿着 X_AXIS,可能会返回以下值。
- View.ExcellentBreakWeight
- 如果在所需的中断位置之前有空格。
- View.BadBreakWeight
- 如果所需的中断位置导致起始偏移量的中断位置。
- View.GoodBreakWeight
- 如果没有出现其他情况。
- 重写:
getBreakWeight在类View中- 参数:
axis- 可以是 View.X_AXIS 或 View.Y_AXISpos- 断开视图开始的潜在位置 >= 0。这可能对计算制表符位置很有用。len- 指定从 pos 开始的相对长度,其中需要潜在中断 >= 0。- 返回:
- 权重,应该是介于 View.ForcedBreakWeight 和 View.BadBreakWeight 之间的值。
- 参见:
-
breakView
在给定长度的给定轴上打破此视图。这是为了尝试在空白位置中断,并返回一个末尾有空白的片段。如果找不到空白位置,则使用最近的字符。 -
createFragment
创建表示元素一部分的视图。这在对视图片段进行测量的格式化操作期间可能很有用。如果视图不支持分段(默认),它应该返回自己。此视图确实支持分段。它被实现为返回一个内部类,该类在此视图中共享状态,仅表示视图的一部分。
- 重写:
createFragment在类View中- 参数:
p0- 起始偏移量 >= 0。这应该是一个大于或等于元素起始偏移量且小于元素结束偏移量的值。p1- 结束偏移量 > p0。这应该是一个小于或等于元素结束偏移量并大于元素开始偏移量的值。- 返回:
- 视图片段,如果视图不支持分成片段,则它本身
- 参见:
-
getNextVisualPositionFrom
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias [] biasRet) throws BadLocationException 提供一种方法来确定下一个可能放置插入符号的可视化模型位置。某些视图可能不可见,它们可能与模型中的顺序不同,或者它们可能不允许访问模型中的某些位置。该方法可以指定一个位置在 >=0 的范围内进行转换。如果值为-1,将自动计算位置。如果值 < -1,将抛出BadLocationException。- 重写:
getNextVisualPositionFrom在类View中- 参数:
pos- 要转换的位置b- 偏差a- 要渲染到的分配区域direction- 从当前位置开始的方向,可以被认为是通常在键盘上找到的箭头键。这可能是 SwingConstants.WEST、SwingConstants.EAST、SwingConstants.NORTH 或 SwingConstants.SOUTH。biasRet- 返回的偏差- 返回:
- 模型中最能代表下一个位置视觉位置的位置。
- 抛出:
BadLocationException- 给定位置不是文档中的有效位置IllegalArgumentException- 无效方向
-
insertUpdate
通知某些内容已插入文档中此视图负责的位置。这是为了沿字形呈现的轴调用 preferenceChanged 来实现的。- 重写:
insertUpdate在类View中- 参数:
e- 来自关联文档的更改信息a- 视图的当前分配f- 如果视图有子视图,用于重建的工厂- 参见:
-
removeUpdate
通知此视图负责的位置从文档中删除了某些内容。这是为了沿字形呈现的轴调用 preferenceChanged 来实现的。- 重写:
removeUpdate在类View中- 参数:
e- 来自关联文档的更改信息a- 视图的当前分配f- 如果视图有子视图,用于重建的工厂- 参见:
-
changedUpdate
从文档发出通知,通知该视图负责的位置的属性已更改。这是为了沿水平轴和垂直轴调用 preferenceChanged 而实现的。- 重写:
changedUpdate在类View中- 参数:
e- 来自关联文档的更改信息a- 视图的当前分配f- 如果视图有子视图,用于重建的工厂- 参见:
-