Javafx - 程序结束时删除剪贴板内容

Javafx - Clipboard content deleted when program ends

我通过 clipboard.setContent(content) 设置剪贴板内容,效果很好。 但是当程序通过 System.exit(0) 结束时,剪贴板内容将被删除。 当我通过单击标题栏中的叉号结束程序时,剪贴板仍处于设置状态。 那么有没有办法结束我的程序,它不会像 System.exit(0) 那样删除剪贴板?

谢谢:)

可能您使用的是本地剪贴板而不是系统剪贴板。 阅读以下示例:System Clipboard

顺便说一句:我也使用 Windows 8.1 和 Java 版本 8 更新 45

正在尝试以下代码:

import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;

public class Main {

    public static void main(String[] args) {
        StringSelection selection = new StringSelection("sample");
        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
        clipboard.setContents(selection, selection);
        System.exit(0);
    }

}

即使在程序结束并调用 System.exit(0) 之后,剪贴板也会正确填充。

您提到要调用 clipboard.setContent(content),但是 Clipboard class 没有提供这样的方法。

我会仔细检查您的代码并与上面的代码进行比较。还要检查以正确调用正确的方法。


更新
之前的回答是基于Awt/Swing应用的假设。但是,在您对问题进行最新编辑之后,它似乎是一个 JavaFX 应用程序。

以下建议奏效:将对 System.exit(0) 的调用替换为 Platform.exit()