java.lang.Object
javax.swing.text.LayeredHighlighter
javax.swing.text.DefaultHighlighter
- 所有已实现的接口:
-
Highlighter
- 直接已知的子类:
-
BasicTextUI.BasicHighlighter
实现了Highlighter接口。实现了一个简单的高亮绘制器,以纯色渲染。
- 参见:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
简单的高亮绘制器,用纯色填充高亮区域。Nested classes/interfaces declared in class javax.swing.text.LayeredHighlighter
LayeredHighlighter.LayerPainter
Nested classes/interfaces declared in interface javax.swing.text.Highlighter
Highlighter.Highlight, Highlighter.HighlightPainter
-
Field Summary
Modifier and TypeFieldDescriptionstatic final LayeredHighlighter.LayerPainter
LayeredHighlighter.LayerPainter的默认实现,可用于绘制高亮。 -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddHighlight
(int p0, int p1, Highlighter.HighlightPainter p) 向视图添加一个高亮。void
changeHighlight
(Object tag, int p0, int p1) 更改一个高亮。void
当UI从JTextComponent的界面中移除时调用。boolean
返回绘制分层高亮。复制高亮。void
当UI被安装到JTextComponent的界面中时调用。void
渲染高亮。void
paintLayeredHighlights
(Graphics g, int p0, int p1, Shape viewBounds, JTextComponent editor, View view) 当叶子视图(如LabelView)进行渲染时,应调用此方法。void
移除所有高亮。void
removeHighlight
(Object tag) 从视图中移除一个高亮。void
setDrawsLayeredHighlights
(boolean newValue) 如果为true,则高亮将随着视图绘制文本而绘制。
-
Field Details
-
DefaultPainter
LayeredHighlighter.LayerPainter的默认实现,可用于绘制高亮。从1.4版本开始,此字段为final。
-
-
Constructor Details
-
DefaultHighlighter
public DefaultHighlighter()创建一个新的DefaultHighlighter对象。
-
-
Method Details
-
paint
渲染高亮。- 参数:
-
g
- 图形上下文
-
install
当UI被安装到JTextComponent的界面中时调用。安装编辑器,并移除任何现有的高亮。- 参数:
-
c
- 编辑器组件 - 参见:
-
deinstall
当UI从JTextComponent的界面中移除时调用。- 参数:
-
c
- 组件 - 参见:
-
addHighlight
public Object addHighlight(int p0, int p1, Highlighter.HighlightPainter p) throws BadLocationException 向视图添加一个高亮。返回一个可用于引用高亮的标记。- 参数:
-
p0
- 要高亮范围的起始偏移量 >= 0 -
p1
- 要高亮范围的结束偏移量 >= p0 -
p
- 用于实际渲染高亮的绘制器 - 返回:
- 可用作引用高亮的对象
- 抛出:
-
BadLocationException
- 如果指定位置无效
-
removeHighlight
从视图中移除一个高亮。- 参数:
-
tag
- 高亮的引用
-
removeAllHighlights
public void removeAllHighlights()移除所有高亮。 -
changeHighlight
更改一个高亮。- 参数:
-
tag
- 高亮标记 -
p0
- 范围的开始 >= 0 -
p1
- 范围的结束 >= p0 - 抛出:
-
BadLocationException
- 如果指定位置无效
-
getHighlights
复制高亮。实际上并不克隆每个高亮,而只是对它们进行引用。- 返回:
- 复制品
- 参见:
-
paintLayeredHighlights
public void paintLayeredHighlights(Graphics g, int p0, int p1, Shape viewBounds, JTextComponent editor, View view) 当叶子视图(如LabelView)进行渲染时,应调用此方法。如果给定区域中有高亮,则将立即绘制。- 指定者:
-
paintLayeredHighlights
在类LayeredHighlighter
- 参数:
-
g
- 用于绘制的Graphics -
p0
- 视图的起始偏移量 -
p1
- 视图的结束偏移量 -
viewBounds
- 视图的边界 -
editor
- JTextComponent -
view
- 正在渲染的View实例
-
setDrawsLayeredHighlights
public void setDrawsLayeredHighlights(boolean newValue) 如果为true,则高亮将随着视图绘制文本而绘制。也就是说,视图将调用paintLayeredHighlight
,这将导致在绘制文本之前绘制一个矩形(如果偏移量在高亮区域内)。为了使其工作,提供的绘制器必须是LayeredHighlightPainter的实例。- 参数:
-
newValue
- 新值
-
getDrawsLayeredHighlights
public boolean getDrawsLayeredHighlights()返回绘制分层高亮。- 返回:
- 绘制分层高亮
-