当我将光标指向JTextPane
中的文字时,如何突出显示当前光标位置的行文字而不点击?
这是我的例子:
所以,如果我的光标在第10行瞄准(没有点击),那么它将突出显示第10行中的所有单词。
这是我的问题:
public void mouseMoved(MouseEvent e) {
int x=e.getX();
int y=e.getY();
component.requestFocus();
Document doc = component.getDocument();
Element root = doc.getDefaultRootElement();
Element element = root.getElement(e.getX());
int start = element.getStartOffset();
int sel = start + e.getY();
component.select(sel, sel);
}
答案 0 :(得分:2)
结帐Line Painter。它显示了如何根据当前插入位置突出显示该行的背景。
由于您需要鼠标位置的行,您显然需要修改代码以处理mouseMoved(...)
的{{1}}事件。
因此,您需要使用MouseListener
中的信息来获取鼠标当前所在的MouseEvent
。然后,您需要使用此点创建Point
。我猜你只需要让Rectangle的宽度/高度值为1。