我用JUNG程序在Java中製作了PluggableGraphMouse和2個EditingGraphMousePluggings。如果我設置的調節劑要留給點擊右鍵單擊它工作完全正常,這裏是setModifiers代碼:JUNG和Java的MouseEvents
ovalMouse.setModifiers(MouseEvent.BUTTON1_MASK);
circleMouse.setModifiers(MouseEvent.BUTTON3_MASK);
什麼,但是我想是已經離開點擊做一兩件事,SHIFT +左鍵點擊(而不是右鍵點擊)做另一個。我嘗試了所有我能想到的組合,但我似乎無法使其發揮作用。下面是一些比較合乎邏輯的組合,我已經試過了不工作的:
//My logic here is Button1 AND Shift is down but this doesn't work
circleMouse.setModifiers(MouseEvent.BUTTON1_MASK & MouseEvent.SHIFT_DOWN_MASK);
// My logic here is Button1 AND Shift but this doesn't work either
circleMouse.setModifiers(MouseEvent.BUTTON1_MASK & MouseEvent.SHIFT_MASK);
// Also tried InputEvents but those didn't work either
circleMouse.setModifiers(InputEvent.BUTTON1_DOWN_MASK & InputEvent.SHIFT_DOWN_MASK);
如果有人知道怎樣纔是正確的修飾符,所以我可以用按鈕1 ovalMouse和按鈕1 +轉移爲circleMouse請讓我知道。謝謝。
嗯......不知道這是如何幫助我說實話。你寫了一個布爾語句來檢查修飾符是什麼,Im的問題是用int語句來設置修飾符。如果我寫circleMouse.setModifiers(MouseEvent.BUTTON1_MASK&MouseEvent.SHIFT_MASK);這不會正確啓動。有沒有人知道setModifiers行是需要什麼來獲得它的工作,而不是getModifiers行。 – fxtdr 2011-05-11 21:16:26
實際上,我沒有看到'JUNG'會對我自己的測試中的MouseEvent的setModifiers(int)做任何影響。在我的測試中,修飾符將接受一個「int」值,其中該值是您感興趣的一個或多個MouseEvent常量的組合。例如:'MouseEvent.SHIFT_MASK(0x1)| MouseEvent.BUTTON3_MASK(0x4)== 0x5'將在true時選擇meta key'SHIFT + BUTTON3',從MouseEvent的getModifiers()獲得。請參閱我的更新 – eee 2011-05-12 12:28:00
總結:您需要使用按位或'|'而不是按位與'''來組合面具。 – 2011-05-12 16:40:03