Java - 剪贴板复制的内容在程序退出后消失

标签 java

我想用我的 java 代码替换系统剪贴板的内容, 但是一旦java程序退出,复制的内容就会消失。如何使数据持久化?

非常感谢。

        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
        Transferable t = clipboard.getContents(null);

        if (t.isDataFlavorSupported(DataFlavor.stringFlavor))
        {
            String data = (String) t.getTransferData(DataFlavor.stringFlavor);
            System.out.println(data);
        }

        StringSelection stringSelection = new StringSelection("Replaced Text");
        clipboard.setContents(stringSelection, null);

        // just to keep program running... 
        Scanner scanner = new Scanner(System.in);
        scanner.nextLine();

编辑:我在 Ubuntu 10.10 上工作,Java 版本为 1.6_20。

最佳答案

似乎(您的程序)将剪贴板内容放在剪贴板上的程序必须能够在 Ubuntu 10.10 中提供它。

正在安装 glipper (sudo apt-get install glipper) 对我有用。它管理您的剪贴板。 (这是一个小程序,所以似乎必须将它添加到您的面板才能启动。)

关于Java - 剪贴板复制的内容在程序退出后消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4216756/

相关文章:

java - 将链表的所有其他元素(就地)移动到java中链表的末尾

java - 为什么获取springboot应用程序的applicationContext很复杂?

java - Jtabbedpane如何设置一个选项卡启用为false

java - 使用 libgdx 和 mt4j 在 Java 中跨平台多点触控和图形

java - 启动带有存储参数的-jar

java - 引用未知实体 : java. lang.Integer

java.lang.RuntimeException : javax.net.ssl.SSLHandshakeException 异常

java - 将指数字符串值转换为 double - Java

java - 从本地驱动器识别映射驱动器

java - Spring Boot RequestMapping 不适用于 Linux Fedora 26