2011-09-21 96 views
2

我想檢查某個javax.swing.JButton(常規按鈕)是否被按下(在它被釋放之前)。是否有任何選項來檢查按鈕是否關閉?測試是否按下了一個javax.swing.JButton

最簡單的解決方案是添加一個MouseListener,它將響應鼠標單擊和釋放事件。但是,這並不包括通過回車鍵或其他方式激活按鈕的情況。我不想禁用通過鍵盤或其他方式激活鼠標 - 我只是想知道什麼時候按下而不會限制它的行爲。

我試着收聽所有不同的事件,並且唯一做出響應按鈕按下的兩個事件是ActionPreformed(ActionEvent)和StateChanged(ChangedEvent)事件。 ActionPreformed每次點擊執行一次,這意味着只有在按下並釋放按鈕後,它纔不好。當我點擊一個按鈕時,StateChanged確實會被調用好幾次,而當我釋放它時會多次調用它。但是,事件對象只包含有關源小部件(按鈕)的信息,並且沒有關於狀態更改本身的信息。這防止了我們想要捕捉哪些事件。

在此先感謝!

+0

我不認爲你在問什麼是JDK提供 - 高級別活動不提供該級別詳情。您最好的選擇是使用ChangedListeners並從按鈕中檢索新狀態。 – millimoose

+0

@Sii:這是確切的問題 - 我如何檢索按鈕狀態?沒有功能似乎這樣做。 'isSelected()'沒有用於這個(它似乎不工作),我還沒有發現任何其他功能。 –

回答

相關問題