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