将代码添加到MouseMotionListener Java时的AccessControlException

时间:2014-03-20 19:52:47

标签: java exception

最近,我一直在java中的applet中研究一些监听器。我对keylisteners没有任何问题,因此我开始使用mousemotionlisteners。但是,只要我将代码添加到MouseMoved()方法,我运行时就会遇到AccessControlException。编译好的代码。这是MouseMotionListener中的代码:

public void mouseMoved( MouseEvent e){
     mouseX = e.getXOnScreen();
     mouseY = e.getYOnScreen();
     move();
 }

我在家用电脑上这样做,但是同样的代码在我学校的电脑上运行。这是异常错误:

java.security.AccessControlException: access denied ("java.awt.AWTPermission"      "watchMousePointer")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:372)
at java.security.AccessController.checkPermission(AccessController.java:559)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.awt.MouseInfo.getPointerInfo(MouseInfo.java:79)
at Test.<init>(Test.java:35)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:793)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:722)
at sun.applet.AppletPanel.run(AppletPanel.java:379)
at java.lang.Thread.run(Thread.java:744)

有人知道为什么我不能运行这个程序吗?我读过关于赋予自己权限但没有人解释如何做到这一点。

谢谢!

1 个答案:

答案 0 :(得分:0)

删除SecurityManager,或在.policy文件中授予自己该权限。