在Ubuntu Firefox的Applet中获取剪贴板访问权限

时间:2011-04-01 15:21:19

标签: linux firefox ubuntu applet clipboard

我在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

它似乎没有任何可用的文件,并且在安装过程中没有给出任何错误或警告。

我愿意接受有关如何使其发挥作用的任何想法。

4 个答案:

答案 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

相关问题