我有一個基於Java SDK的WorldWind應用程序構建。它有一個很棒的事件處理程序來檢測你什麼時候點擊對象,但我碰到了一個障礙。雖然我可以點擊並選擇單個對象,但我無法確定用戶是否在點擊時按下了控制鍵(如果他們想要選擇多個對象)。我可以爲鼠標和鍵盤實現事件處理程序,但是我無法想象如何將兩者結合在一起。我怎麼能讓我的鼠標監聽器輪詢系統當前被按下的鍵列表?在Java中按下按鈕的輪詢
1
A
回答
5
你可以叫getModifiers()和按位比較,看是否控制鍵(或Shift鍵,在活動期間鬱悶。
public void mouseClicked(MouseEvent e) {
if((e.getModifiers() & ActionEvent.CTRL_MASK) > 0) {
// Control key depressed
}
}
1
對於的MouseEvent,你可以只調用getModifiers()得到一個面具的修飾鍵(換檔/控制/ ALT等)按下的鍵。
對於一般情況下,使用一個變量,以配合在一起?
你keyhandler套/清除變量時它註冊一個按鍵,你的mouselistener檢查t帽子變量。
如果您需要更多地刪除這些內容,只需創建一個您的密鑰監聽器和mouselistener訪問的實例即可。
public class Pressedkeys {
private boolean shiftPressed = false;
private boolean controlPressed = false;
public void setShiftPressed(boolean pressed) {
this.shiftPressed = pressed;
}
public void setControlPressed (boolean pressed) {
this.shiftPressed = pressed;
}
public boolean isControlPresed() {
return controlPressed ;
}
...
}
Pressedkeys k = new PressedKeys();
MyMouseThing t = new MyMouseThing(k);
//your mousething mouse handler would check k.isControlPressed();
MyKeyboardThing t = new MyKeyboardThing (k);
//your KeyBoardThing - which has a key handler would set k.setControlPressed(..);
相關問題
- 1. Java中的按鈕在按下之前按下的按鈕的值
- 2. 輪詢硬件按鈕的狀態
- 3. Android - 如何在alertdialog中按下按鈕並按下按鈕是或否按鈕
- 4. 按下按鈕
- 5. 按下按鈕
- 6. 按鈕按下
- 7. 快速按鈕的輪廓
- 8. 在tinyMCE的插件中按下按鈕
- 9. 什麼按鈕被按下java
- 10. java中沒有按鈕的按鈕
- 11. 按下按鈕時重新繪製Java按鈕
- 12. java腳本按鈕,當你按下按鈕時改變圖像
- 13. 如何在按下按鈕後在applet(java)中添加圖片?
- 14. 正在按下按鈕
- 15. 長按下按鈕在IOS
- 16. 按音量按鈕按下按下AVAudioPlayer
- 17. 按鈕被按下之前按下按
- 18. EXC_BAD_INSTRUCTION按下按鈕
- 19. 當按下按鈕
- 20. Java - 擺輪定時器在WHILE中,帶啓用/禁用按鈕
- 21. 在java中按下按鈕後添加選項卡
- 22. 如何有計劃等待按下按鈕在Java中
- 23. 如果按下JToggleButton按鈕,在Java中如何查找
- 24. 按Uisearchbar x按鈕按下
- 25. HTML中的彎曲按鈕輪廓CSS
- 26. 如何在Sikuli中按下PageDown按鈕?
- 27. 在iOS5中沒有按下按鈕
- 28. 在flowlayoutpanel中按下哪個按鈕?
- 29. 在silverlight中按下鼠標按鈕3
- 30. 在actionscript中識別按鈕按下
你已經打了我,並與實際的代碼。 +1 – 2010-04-12 20:03:33