java JButton:操作在不可见/禁用时执行?

eblbsuwk  于 2022-12-10  发布在  Java
关注(0)|答案(3)|浏览(181)

例如,当按钮本身被隐藏或禁用时,JButton是否可能调用附加到它的ActionListeneractionPerformed()
类似地,用户单击按钮,事件被添加到事件队列,并且在前一事件中,按钮被禁用。
我认为这不会导致actionPerformed(),因为用户只是提交了一个点击或按下事件,检查当前JFrame中的所有内容。
但是有没有人知道是否会发生这种不希望的情况呢?当然,前提是不要在EDT之外对Swing对象进行任何操作。

**编辑任何人看这个:**是的,它确实可以发生在某些情况下。我应该张贴一个例子作为答案在某个时候。

4ioopgfo

4ioopgfo1#

从Java文档

public void setEnabled(启用布尔值)

设置是否启用此组件。启用的组件可以响应用户输入,而未启用的组件无法响应用户输入。某些组件在禁用时可能会改变其视觉表示,以便向用户提供无法接受输入的反馈。
更多信息
http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#setEnabled%28boolean%29

  • 信息 *:JButton扩展了抽象按钮,而抽象按钮扩展了JComponent
jobtbby3

jobtbby32#

只需使用一个条件语句,并告诉应用程序在满足条件时启用jButton。
例如:

private buttonNameActionPerformed(java.awt.evt evt){

   if(condition.equals(something)){
   jButton.setEnabled(true);

}
else{
jButton.setEnabled(false);

}
}
ddrv8njm

ddrv8njm3#

JButton即使已禁用,也会触发actoinperformed()。

相关问题