我需要制作一个复制突出显示文本的应用程序。
我尝试过这个程序
String myString = "This text will be copied into clipboard when running this code!";
StringSelection stringSelection = new StringSelection (myString);
Clipboard clpbrd = Toolkit.getDefaultToolkit ().getSystemClipboard ();
clpbrd.setContents (stringSelection, null);
但这会复制剪贴板中已存在的文本在我们突出显示文本并点击复制选项后,它会打印剪贴板中的文本
我想知道,在我们通过突出显示简单地选择文本后,该文本存储在哪里,如何直接访问该突出显示的文本,而不通过操作系统的复制选项进行物理复制
您可以使用 CaretListener
收听选择更改。然后您可以使用 #getSelectedText()
检索选定的文本。 .
这是一个带有 TextArea
的简单示例:
final JTextArea textArea = new JTextArea();
textArea.addCaretListener(new CaretListener() {
@Override
public void caretUpdate(CaretEvent e) {
String selectedText = textArea.getSelectedText();
// do something with it...
}
});
我是一名优秀的程序员,十分优秀!