无头异常时getSystemClipboard失败

时间:2018-10-15 08:14:04

标签: java clipboard

我正在尝试使用getSystemClipboard在基于Java Web的应用程序中将文本复制到剪贴板:

this.WooCommerce.getAsync("products?filter[category]=" + this.category.slug).then((data) =>{
  console.log(JSON.parse(data.body));

但是我遇到了Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); 异常,我不明白为什么,特别是因为according the doc异常与调用缺少的IO HW有关(并且我有键盘/鼠标并且没有调用它们)。 ..

我该怎么做才能正确获取系统剪贴板?

编辑感谢您的评论和Roshana Pitigala的回答,我理解了我的错误:实际上Java应用程序在DC上而不是在用户本地环境中运行。因此,获取用户系统剪贴板将获取DC剪贴板(而非用户)。解决方案需要在客户端(在客户环境中运行)。 谢谢大家!

1 个答案:

答案 0 :(得分:2)

尝试使用VM参数运行应用程序,

-Djava.awt.headless=false

或在获取剪贴板之前添加以下行。

System.setProperty("java.awt.headless", "false");