我正在尝试使用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剪贴板(而非用户)。解决方案需要在客户端(在客户环境中运行)。 谢谢大家!
答案 0 :(得分:2)
尝试使用VM参数运行应用程序,
-Djava.awt.headless=false
或在获取剪贴板之前添加以下行。
System.setProperty("java.awt.headless", "false");