我有一個基於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. Java在GUI中按下按鈕時會生成下一組按鈕按鈕
- 3. java腳本按下按鈕
- 4. 輪詢硬件按鈕的狀態
- 5. 按鈕輪廓大於按鈕尺寸
- 6. Android - 如何在alertdialog中按下按鈕並按下按鈕是或否按鈕
- 7. 在java中每5秒最多按一次按鈕一次按下按鈕
- 8. 如何釋放按下的java按鈕
- 9. SpriteKit中的按下按鈕
- 10. 按下後按鈕按鈕
- 11. iPhone在按鈕上按下按鈕
- 12. 在Java中獲取按下的鍵盤按鈕的HID代碼
- 13. 的iOS 7輪框按鈕
- 14. 快速按鈕的輪廓
- 15. 按下按鈕
- 16. 按鈕按下
- 17. 按下按鈕
- 18. 按鈕按下
- 19. 按下按鈕
- 20. 按下按鈕
- 21. 按下按鈕
- 22. 按鈕按下時更新sql查詢?
- 23. 在tinyMCE的插件中按下按鈕
- 24. 什麼按鈕被按下java
- 25. java中沒有按鈕的按鈕
- 26. 按鈕VS JAVA中的圖像按鈕
- 27. 棘輪:在列表中添加按鈕
- 28. 如何在android中按下按鈕狀態的按鈕
- 29. 按下按鈕時重新繪製Java按鈕
- 30. java腳本按鈕,當你按下按鈕時改變圖像
你已經打了我,並與實際的代碼。 +1 – 2010-04-12 20:03:33