我在Firefox中使用applet运行64位Ubuntu。当applet尝试读取剪贴板时。我收到这个错误:
Error: uncaught exception: LiveConnectPermissionNeeded access denied (java.awt.AWTPermission accessClipboard)
我想为这个特定的applet启用剪贴板访问。知道怎么样?我正在运行IcedTea插件。这适用于Windows中的IE(使用JDK6插件)。
我尝试安装Oracle Java 6插件:
sudo apt-get install sun-java6-plugin
它似乎没有任何可用的文件,并且在安装过程中没有给出任何错误或警告。
我愿意接受有关如何使其发挥作用的任何想法。
答案 0 :(得分:0)
我很高兴你问。请参阅OTN上的线程Copy in sand-boxed app. in 1.6.0_24+以获取可能的解决方案。
事实上,我很感激您发布的代码的测试结果 - 详细信息在主题中。我把它从Swing论坛转移到Java编程论坛试试&除了Windows之外的任何操作系统都能获得一些结果,但到目前为止还没有非Windows结果。
如果您粘贴数据&在这里发表评论,我会将其纳入Results table&链接回来。
答案 1 :(得分:0)
不确定您是否需要在沙箱中运行此操作,或者在签署您的applet时遇到问题,但是权限错误很可能是由于您的剪贴板访问权限未包含在特权块中。这是包装它的一个例子。 Applet也需要签名。
Clipboard systemClipboard = (Clipboard) AccessController.doPrivileged(new PrivilegedAction() {
public Object run()
{
Clipboard tempClipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
return tempClipboard;
}
});
// get the contents on the clipboard in a
// Transferable object
Transferable clipboardContents = systemClipboard.getContents(null);
答案 2 :(得分:0)
由于你没有回答这些问题,这里还有一个提示:
要在安装后更改为Sun插件,您必须执行sudo update-java-alternatives java-6-sun
,然后重新启动Firefox(或者至少关闭并重新打开包含Java小程序的任何选项卡)。
注意:这不仅会更改插件,还会更改整个系统的默认JVM。如果您只想更改插件,请添加--plugin
开关(java-6-sun
之前)。
但请报告使用Sun插件是否会给您任何更改。
答案 3 :(得分:0)
您可能会发现此主题中的信息很有帮助。
https://askubuntu.com/questions/42122/cant-copy-from-clipboard-to-any-java-applet
默认情况下,java.awt库似乎无权访问系统剪贴板。
编辑: 在我的案例中,上述解决方案最终无益。我可以按照以下主题中提到的下载Glipper的建议访问我放在java应用程序中的系统剪贴板中的项目。
Java - Clipboard copied content disappear after program exits