2012-01-26 48 views
2

我想寫一個方法,將一個按鈕從被禁用到被啓用並返回使用簡單的if語句。Java swing,按鈕的測試狀態?

我認爲它會是這樣的

if (buttonDisable.setEnabled(true) == true){ 
    //do stuff 
} 

但我沒有多少運氣找到通過谷歌我的答案。

回答

4

不要測試模型顯示,測試模型。

if (buttonDisable.getModel().isEnabled()) { 
    // do stuff 
} 

如果你改變了模式,您避免調度的水平這樣(查看---更新--->模型---更新--->視圖(S))

一更好的解決方案是使模型更改獨立於視圖。這樣,您就不會被束縛於要求提供特定視圖來改變模型。

ButtonModel toggle = new ButtonModel(); 
... 
JButton button = new JButton(toggle); 
... 
// this is clear that we are manipulating the model, not the view 
// as new views are added/removed, this toggle will continue to work 
toggle.setEnabled(!toggle.isEnabled()); 
4

爲什麼不切換狀態在一杆:

buttonDisable.setEnabled(!buttonDisable.isEnabled())