Module java.desktop
Package javax.swing.text

Class DefaultHighlighter

java.lang.Object
javax.swing.text.LayeredHighlighter
javax.swing.text.DefaultHighlighter
所有已实现的接口:
Highlighter
直接已知的子类:
BasicTextUI.BasicHighlighter

public class DefaultHighlighter extends LayeredHighlighter
实现了Highlighter接口。实现了一个简单的高亮绘制器,以纯色渲染。
参见:
  • Field Details

    • DefaultPainter

      public static final LayeredHighlighter.LayerPainter DefaultPainter
      LayeredHighlighter.LayerPainter的默认实现,可用于绘制高亮。

      从1.4版本开始,此字段为final。

  • Constructor Details

    • DefaultHighlighter

      public DefaultHighlighter()
      创建一个新的DefaultHighlighter对象。
  • Method Details

    • paint

      public void paint(Graphics g)
      渲染高亮。
      参数:
      g - 图形上下文
    • install

      public void install(JTextComponent c)
      当UI被安装到JTextComponent的界面中时调用。安装编辑器,并移除任何现有的高亮。
      参数:
      c - 编辑器组件
      参见:
    • deinstall

      public void deinstall(JTextComponent c)
      当UI从JTextComponent的界面中移除时调用。
      参数:
      c - 组件
      参见:
    • addHighlight

      public Object addHighlight(int p0, int p1, Highlighter.HighlightPainter p) throws BadLocationException
      向视图添加一个高亮。返回一个可用于引用高亮的标记。
      参数:
      p0 - 要高亮范围的起始偏移量 >= 0
      p1 - 要高亮范围的结束偏移量 >= p0
      p - 用于实际渲染高亮的绘制器
      返回:
      可用作引用高亮的对象
      抛出:
      BadLocationException - 如果指定位置无效
    • removeHighlight

      public void removeHighlight(Object tag)
      从视图中移除一个高亮。
      参数:
      tag - 高亮的引用
    • removeAllHighlights

      public void removeAllHighlights()
      移除所有高亮。
    • changeHighlight

      public void changeHighlight(Object tag, int p0, int p1) throws BadLocationException
      更改一个高亮。
      参数:
      tag - 高亮标记
      p0 - 范围的开始 >= 0
      p1 - 范围的结束 >= p0
      抛出:
      BadLocationException - 如果指定位置无效
    • getHighlights

      public Highlighter.Highlight[] 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()
      返回绘制分层高亮。
      返回:
      绘制分层高亮