1

我需要制作一个复制突出显示的文本的应用程序。

我试过这个程序

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);

但这会复制剪贴板中已经存在的文本,它会在我们突出显示文本并点击复制选项后从剪贴板打印文本

我想知道在我们简单地通过突出显示选择一个文本之后,它存储在哪里,我如何直接访问这个突出显示的文本而不通过操作系统的复制选项物理复制它

4

1 回答 1

1

您可以使用 收听选择更改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...
        }
    });
于 2013-01-02T12:58:43.490 回答