2012-01-26 42 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())