java - 突出显示的文本存储在哪里?

标签 java clipboard

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

我尝试过这个程序

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

关于java - 突出显示的文本存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14121255/

相关文章:

java - OPC UA 测试堆栈示例

java - Html.fromHtml(String) + 换行问题

java - 从 JTextPane 复制/粘贴到其他应用程序,无需文本格式支持

excel - Excel 剪贴板格式是否有记录?

javascript - 如何将我自己的简介添加到用户从我的网站复制和粘贴的文本中?

java - 为什么在 ViewHolder 模式中 ViewHolder 类应该是静态的?

java - 使用可信证书签署我的小程序

java - MarkLogic Java API 覆盖 Jersey RuntimeDelegate

java - 如何将jtable的内容复制到剪贴板

android - 有没有办法从android中的剪贴板复制到终端?