package com.biao.mlm.ui;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.Shape;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.Element;
import javax.swing.text.Highlighter;
import javax.swing.text.JTextComponent;
// 当一个highlight被加到text component中后,每次更新高亮时,都会去遍历highlighter的所有highlight,
// 调用他们对应的painter.paing()方法,来进行绘制. 所以我们这里只需要加一次highlight, 就可以一直使用.
// 而不是每次更新要高亮的行时就加一个新的highlight, 因为他会动态地计算当前行来进行高亮.
public class CurrentLineHighlighter extends MouseAdapter implements Highlighter.HighlightPainter,
CaretListener {
private JTextComponent editor;
p