我想JButton
在某个类中启用/禁用某些方法返回true
/ false
(类的方法返回组件 - 类型boolean
)
我不知道该怎么做。我应该写指令while(true) { ... }
并检查什么方法返回例如每秒 1 次吗?这是个好主意吗?
请帮忙
来自 Java Se 7 文档,
Methods inherited from class javax.swing.AbstractButton
如果您将此代码放在您的方法中,那么每当它运行时,它将相应地启用/禁用按钮。
我应该写指令 while(true) { ... } 并检查什么方法返回例如每秒 1?这是个好主意吗?
这是个坏主意,它会完全冻结您的应用程序!如果要定期检查布尔方法的值,请使用 Timer。
但是,如果在说对象 A 中定义了布尔方法并且您知道何时修改 A,那么您应该将按钮添加为 A 的侦听器,以便在修改 A 时它可以触发 Button 中的回调,该回调将评估按钮是否应该是现在启用或禁用。
final JButton btnNewButton = new JButton("New button");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
btnNewButton.setEnabled(buttonState());
}
});
boolean buttonState() {
return false;
}