我正在尝试创建 JButton 组件的子类,它将根据条件启用或禁用自身(如下所示)
public interface Condition {
public static final Condition TRUE = new Condition() {
public boolean test() {
return true;
} };
public static final Condition FALSE = new Condition() {
public boolean test() {
return false;
} };
public boolean test();
}
但是,JButton 代码都是基于私有存储在 JButton 类中的实际布尔值。我的问题是:可以重写 JButton 的哪个方法来更新其存储的 isEnabled 布尔值(通过 setEnabled(boolean))?会是更新(图形)吗?或重绘()?或者其他一些功能?
编辑:意识到我要创建的实际上是不可能的,除非您有一个单独的线程等待很短的时间并强制按钮检查其状态(这很严重,我不想这样做)。事实上,按钮只是反应式的。使用按钮类的任何人都可以通过一些开销来完成此操作,但此时只需编写侦听器以了解实际发生的变化并在此时切换按钮会更容易。哎呀。