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

时间:2016-01-18 21:05:21

标签: java javafx clipboard

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

谢谢:)

2 个答案:

答案 0 :(得分:1)

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

顺便说一句:我还使用Windows 8.1和Java Version 8 Update 45

答案 1 :(得分:1)

尝试以下代码:

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类不提供此类方法。

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

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

以下建议得以解决:将System.exit(0)的来电替换为Platform.exit()