2013-10-10 23 views
0

我想有JButton在一些类被启用/禁用时一些方法返回true/false(方法返回类的部件 - 型boolean)相关联/残疾人的JButton启用与一些方法

我不不知道该怎么做。我是否应该编写指令while(true) { ... }并检查哪种方法返回例如每秒1?这是个好主意吗?

请帮

+1

JButton.setEnabled(foo());其中foo()是返回true/false的方法。或者在foo()之前返回true/false JButton.setEnabled(true/false); – initramfs

+1

'while(true){...}'是一个非常糟糕的主意(实际上不会工作)。 – Maroun

回答

1

enter image description here

从Java SE 7文件,

Methods inherited from class javax.swing.AbstractButton 

如果你把你方法中的代码,那么只要它运行时,它会启用/相应的禁用按钮。

+0

+1的海量照片。通常情况下,人们建立了一个链接,这将它带到了一个全新的水平。 – initramfs

+1

@CPUTerminator谢谢,我尽可能地把它弄清楚,并认为大图是这次走的路。 – Levenal

0
final JButton btnNewButton = new JButton("New button"); 
btnNewButton.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent arg0) { 
     btnNewButton.setEnabled(buttonState()); 
    } 
}); 

boolean buttonState() { 
    return false; 
} 
1

我应该写指令,而(真){...}和检查什么方法 返回例如每秒1次?这是个好主意吗?

这是个坏主意,它会完全冻结你的应用程序! 如果您想要定期检查布尔方法的值,请使用Timer。

但是,如果在对象A中定义了布尔方法,并且知道何时修改了A,那么您应该将按钮作为侦听器添加到A,这样当A被修改时,它可以触发Button中的回调,该按钮应该现在启用或禁用。

相关问题