在Applet中使用AWTEventListener时拒绝访问

时间:2012-12-17 22:10:08

标签: java swing security applet awt

我在浏览器中嵌入了一个applet。在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")

政策

现在在我的政策文件(下面的路径)中,我附加在底部:

权限

grant  {
    permission java.security.AllPermission;
};

路径

C:/Program Files/Java/jdk1.7.0_10/jre/lib/security/java.policy

但我仍然得到相同的访问拒绝问题。

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

1 个答案:

答案 0 :(得分:2)

这是我编写/部署的受信任代码的链接。它为JVM生成java.home property

这里指出:

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

请注意,我现在在上面的路径中注意到,该路径的任何部分都不包含jdk。确保策略文件与applet中标识的路径位于同一路径上。