Java 在小程序中使用AWTEventListener时访问被拒绝

Java 在小程序中使用AWTEventListener时访问被拒绝,java,swing,security,applet,awt,Java,Swing,Security,Applet,Awt,我在浏览器中嵌入了一个小程序。在appletinit()方法中,我有以下代码: Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() { public void eventDispatched(AWTEvent event) { if(event instanceof MouseEvent){ MouseEvent evt = (Mous

我在浏览器中嵌入了一个小程序。在applet
init()
方法中,我有以下代码:

Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
        public void eventDispatched(AWTEvent event) {
            if(event instanceof MouseEvent){
                MouseEvent evt = (MouseEvent)event;
                if(evt.getID() == MouseEvent.MOUSE_CLICKED){
                    System.out.println("Mouse Clicked");
                }
            }
        }
    }, AWTEvent.MOUSE_EVENT_MASK);
加载小程序时,我遇到错误:

access denied ("java.awt.AWTPermission" "listenToAllAWTEvents")
政策 现在,在我的策略文件(下面的路径)中,我在底部追加了:

许可 路径 但我还是遇到了同样的访问被拒绝的问题


任何人都知道为什么即使我授予
java.policy
文件中的所有权限,我仍然会遇到这个错误吗?

这里有一个指向我编写/部署的可信代码的链接。它为JVM生成了一个函数

这里它指的是:

C:\Program Files (x86)\Java\jre7 

请注意,该路径的任何部分都不包含
jdk
,正如我现在在上面的路径中所注意到的那样。确保策略文件与小程序中标识的路径相同。

“我有以下代码:“为什么?”?你想通过这种方式达到什么目的?“现在在我的“.java.policy”中“不要弄乱策略文件,它们不是部署具有扩展权限的小程序的实用方法。如果要做类似的事情,小程序需要进行数字签名。我只是想添加我自己的全局鼠标侦听器。这将避免我为每个单独的组件编写一个鼠标侦听器。作为最终用户,我不愿意仅仅为了从同一JVM中的所有小程序获取事件而向任何人授予扩展权限。对applet中的组件执行递归调用并添加侦听器,或者更好的做法是查看
操作
API和键绑定。感谢您的链接,它现在可以工作了。我修改了错误的java.policy文件。我同意小程序应该被签署,但这是我们目前拥有的。此外,此小程序部署在用户较少的内部网络中。我还将许可范围缩小到“listenToAllAWTEvents”。
C:/Program Files/Java/jdk1.7.0_10/jre/lib/security/java.policy
C:\Program Files (x86)\Java\jre7