Java 设置JButton使其不能被按下,或临时禁用actionListener

Java 设置JButton使其不能被按下,或临时禁用actionListener,java,swing,jbutton,actionlistener,Java,Swing,Jbutton,Actionlistener,我在JButtons上有actionListener,如果我按下其中一个按钮,我想在其他按钮上禁用actionListener而不删除它 是否有可能或者我必须删除它们,然后再添加它们 对不起。我忘了提到,我设置了“button.setPressedIcon(图标)”,我不想显示这个图标。因此,前面提到的soulution-button.setEnabled(false)无法工作 是否可能,或者我是否必须删除它们,然后再次添加它们。 您可以在操作侦听器中添加布尔变量,如下所示: boolean i

我在JButtons上有actionListener,如果我按下其中一个按钮,我想在其他按钮上禁用actionListener而不删除它

是否有可能或者我必须删除它们,然后再添加它们

对不起。我忘了提到,我设置了“button.setPressedIcon(图标)”,我不想显示这个图标。因此,前面提到的soulution-button.setEnabled(false)无法工作

是否可能,或者我是否必须删除它们,然后再次添加它们。

您可以在操作侦听器中添加布尔变量,如下所示:

boolean ignoreEvents = false;
然后把你的动作代码包装进去

if (ignoreEvents)
    return;

ignoreEvents = true;

// your code here...

ignoreEvents = false;
只需确保代码正确同步即可


从用户界面的角度来看,您最好禁用按钮

是否可能,或者我是否必须删除它们,然后再次添加它们。

您可以在操作侦听器中添加布尔变量,如下所示:

boolean ignoreEvents = false;
然后把你的动作代码包装进去

if (ignoreEvents)
    return;

ignoreEvents = true;

// your code here...

ignoreEvents = false;
只需确保代码正确同步即可



从用户界面的角度来看,您最好禁用按钮
按钮。设置已启用(错误)

这将禁用按钮,如果需要

JButton button=newjbutton(“hello”)
按钮。设置已启用(错误)


这将禁用按钮,如果需要的话

除了禁用GUI元素本身之外,还可以使用
Action
(或
AbstractAction
)类构造它们,并禁用/启用该操作。从该操作形成的任何UI元素都将被相应地禁用/启用。

除了禁用GUI元素本身之外,您还可以使用
操作
(或
抽象操作
)类构造它们,并禁用/启用该操作。由操作形成的任何UI元素都将被相应地禁用/启用。

为什么要禁用actionlistener,为什么不禁用按钮?为什么要禁用actionlistener,为什么不禁用按钮?