getSystemClipboard 因无头异常而失败
getSystemClipboard failed on headless exception
我正在尝试使用 getSystemClipboard 在 java 基于 Web 的应用程序中将文本复制到剪贴板:
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
但是我遇到了 java.awt.HeadlessException
异常,我不明白为什么,特别是因为 according the doc 这个异常与调用缺少的 IO 硬件有关(我有 keyboard/mouse 而不是打电话给他们)。
如何正确获取系统剪贴板?
编辑
感谢您的评论和 Roshana Pitigala 的回答,我理解了我的错误:实际上 Java 应用程序是 运行 在 DC 上而不是在用户本地环境中。因此获取用户系统剪贴板将获取 DC 剪贴板(而不是用户)。解决方案需要在客户端(即 运行 在客户环境中)。
尝试 运行 您的应用程序与 VM 参数,
-Djava.awt.headless=false
或者在获取剪贴板之前添加以下行。
System.setProperty("java.awt.headless", "false");
我正在尝试使用 getSystemClipboard 在 java 基于 Web 的应用程序中将文本复制到剪贴板:
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
但是我遇到了 java.awt.HeadlessException
异常,我不明白为什么,特别是因为 according the doc 这个异常与调用缺少的 IO 硬件有关(我有 keyboard/mouse 而不是打电话给他们)。
如何正确获取系统剪贴板?
编辑
感谢您的评论和 Roshana Pitigala 的回答,我理解了我的错误:实际上 Java 应用程序是 运行 在 DC 上而不是在用户本地环境中。因此获取用户系统剪贴板将获取 DC 剪贴板(而不是用户)。解决方案需要在客户端(即 运行 在客户环境中)。
尝试 运行 您的应用程序与 VM 参数,
-Djava.awt.headless=false
或者在获取剪贴板之前添加以下行。
System.setProperty("java.awt.headless", "false");