我一直在Java Applets中使用MouseInfo
類。如何在java中檢測鼠標位置
int somex = MouseInfo.getPointerInfo().getLocation().x;
int somey = MouseInfo.getPointerInfo().getLocation().y;`
上面的代碼工作得很好,在一個普通的Java程序時,但在一個小程序,我得到一個
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.
有誰知道我爲什麼不能在一個applet使用的代碼? 如何更改安全管理器,以便它能正常工作?
我問這個問題的原因是我有一個很棒的applet(遊戲),除了我需要添加鼠標控件的事實外。
如果任何人有關於如何修改上述代碼或完全不同的方式來找到鼠標/鍵盤的位置的建議,將不勝感激。
它的工作原理比較使用KeyListener
,MouseListener
,MouseMotionListener
,ActionListener
等,但與MouseMotion
的問題是,如果鼠標保持不動,就無法檢測到鼠標的位置。
我看不出如何使用MouseListener或MouseAdapter可以幫助我找到鼠標的位置,如果沒有發生任何操作。 – rockclimber
請忽略我的建議。抱歉。 –
@ user1618517考慮[簽署](http://java.sun.com/developer/onlineTraining/Programming/JDCBook/signed.html)你的小程序 – oldrinb