MouseInfo
我在使用Java Applets 中的类时遇到了问题。
int somex = MouseInfo.getPointerInfo().getLocation().x;
int somey = MouseInfo.getPointerInfo().getLocation().y;`
上面的代码在普通的java程序中工作得很好,但是在applet中,我得到了一个
Exception in thread "AWT-EventQueue-1" java.security.AccessControlException: access denied (java.awt.AWTPermission watchMousePointer)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:374)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.awt.MouseInfo.getPointerInfo(MouseInfo.java:62)
at Mousefollow.getCOOR(Mousefollow.java:208)
at Mousefollow.paint(Mousefollow.java:160)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
etc etc etc.
有谁知道为什么我不能在小程序中使用该代码?如何更改安全管理器以使其正常工作?
我问这个的原因是我有一个大的小程序(游戏),效果很好,除了我需要添加鼠标控件。
如果有人对如何调整上述代码或找到鼠标/键盘位置的完全不同的方法有任何建议,我们将不胜感激。
它通过使用KeyListener
、MouseListener
、MouseMotionListener
等相对工作ActionListener
,但问题MouseMotion
是如果鼠标保持不动,它就无法检测到鼠标的位置。