JButton:actionPerformed而隐形/禁用?

时间:2014-02-28 06:13:12

标签: java jlabel event-dispatch-thread

例如,当按钮本身被隐藏或已被禁用时,是否可能JButton调用actionPerformed() ActionListener actionPerformed()

例如,用户单击按钮,事件将添加到事件队列,而在之前的事件中,该按钮将被禁用。

我认为这不会导致JFrame,因为用户只提交了点击或按下事件,检查当前{{1}}中的所有内容。

但是有人知道是否有任何这种不必要的情况发生的情况?当然,总是规定你不要对EDT之外的Swing对象做任何事情。

2 个答案:

答案 0 :(得分:1)

来自JavaDocs

public void setEnabled(boolean enabled)

Sets whether or not this component is enabled. A component that is enabled may respond
to user input, while a component that is not enabled cannot respond to user input.
Some components may alter their visual representation when they are disabled in order
to provide feedback to the user that they cannot take input.

了解更多信息

http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#setEnabled%28boolean%29

INFO JButton扩展AbstractButton 扩展JComponent

答案 1 :(得分:0)

只需使用条件语句并告诉应用程序在满足条件时启用jButton。

例如:

private buttonNameActionPerformed(java.awt.evt evt){

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

}
else{
jButton.setEnabled(false);

}
}