Java 如何从JEditorPane中获取光标当前所在行的行文本?

Java 如何从JEditorPane中获取光标当前所在行的行文本?,java,jeditorpane,Java,Jeditorpane,我有一个JEditorPane,我在上面放了一个鼠标侦听器,可以检测光标在哪里 但是,我希望能够获取光标所在行的文本。有什么实用的方法我可以使用吗?如果不是,那么我将如何构造一个方法来实现这一点 xmlEditor.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent me) { try

我有一个JEditorPane,我在上面放了一个鼠标侦听器,可以检测光标在哪里

但是,我希望能够获取光标所在行的文本。有什么实用的方法我可以使用吗?如果不是,那么我将如何构造一个方法来实现这一点

        xmlEditor.addMouseListener(
            new MouseAdapter() {
                public void mouseClicked(MouseEvent me) {  
                    try {
                        int caretPosition = xmlEditor.getCaretPosition();
                        int offset = 0;
                        int length = 0;
                        xmlEditor.getText(offset, length);
                    } catch (BadLocationException ex) {
                        Logger.getLogger(EZXPathFrame.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            }
        );
有什么实用的方法我可以使用吗

从未使用JEditorPane尝试过,但您可能可以使用
实用程序
类。您应该能够使用像
getRowStart(…)
getRowEnd(…)
这样的方法。一旦知道起始偏移量和结束偏移量,就可以从JEditorPane中获取文本

比如:

int start = Utilities.getRowStart(textComponent, offset);
int end = Utilities.getRowEnd(textComponent, offset);
String text = textComponent.getText(start, end-start);