如何通过右键单击从 JTextArea 中检索单词?

How Can I Retrieve a Word From JTextArea From a Right Click?

我希望用户能够根据在文本区域中单击的单词来存储文本。

JTextComponent.getCaretPosition就是你要找的;并从那里开始寻找这个词。 或者 getSelectedText,如果您需要通过双击选择单词。

右键单击不会更改插入符号的位置,因此 getCaretPosition() 方法仅在插入符号位于您想要的单词上时才有效 select。

对于更通用的方法,您可以在 MouseListener 中使用以下内容:

int offset = textArea.viewToModel( event.getPoint() );
int start = Utilities.getWordStart(textArea, offset);
int end = Utilities.getWordEnd(textArea, offset);
String text = textArea.getText(start, end - start);