我有一个 Java 应用程序,其中有一行代码:
String myString="Some Text";
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(myString, null);
当我使用 Java 5 在 Eclipse 中运行我的应用程序时,这非常有效。当我创建 .ear 文件并将其部署到 websphere 上时,我收到如下所示的异常:
Caused by: java.awt.HeadlessException
at sun.awt.HeadlessToolkit.getSystemClipboard(HeadlessToolkit.java:306)
at something.something.something.package$MyButtonListener.buttonClick(View.java:271)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:512)
我似乎无法解决这个问题,有人有什么想法吗?我知道它正在尝试在服务器上设置剪贴板,但如何在网络应用程序计算机的用户上设置它?
最佳答案
您的 WebSphere 环境没有基于监视器的 GUI(“head”)。
您在服务器上设置剪贴板的目的是什么?
编辑:所有Toolkit
方法都适用于运行Java代码的计算机。如果要操作客户端,则需要部署客户端代码。请参阅Set clipboard content in any browser .
关于java - 使用 getSystemClipboard().setContents(..) 时出现 HeadLessException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8223592/