【发布时间】:2015-10-08 13:09:00
【问题描述】:
我希望用户能够根据在文本区域中单击的单词来存储文本。
【问题讨论】:
我希望用户能够根据在文本区域中单击的单词来存储文本。
【问题讨论】:
右键单击不会更改插入符号的位置,因此 getCaretPosition() 方法仅在插入符号位于您要选择的单词上时才有效。
对于更通用的方法,您可以在 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);
【讨论】:
JTextComponent.getCaretPosition 是你要找的;并从那里开始寻找这个词。 或者 getSelectedText,如果您需要通过双击选择单词。
【讨论】: