Java多按钮点击

时间:2013-04-09 10:56:00

标签: java swing jbutton actionlistener

我在面板上有5个按钮,名为“添加”,“编辑”,“删除”,“确定”,“取消”。现在,如果我立即单击取消按钮,表单将终止。我从click事件中调用了dispose()方法。

但是,我想要做的是:如果我先单击添加按钮然后单击取消按钮,程序应该回到初始状态,尽管因为dispose()而终止。 / p>

我该怎么做?

这是我的添加按钮操作事件代码:

public class TheButtounHandler implements ActionListener
{
     @Override
     public void actionPerformed(ActionEvent ae) 
     {
         if(ae.getSource().equals(addButton))
         {
             enableDisabledByDefault();
             editButton.setEnabled(false);
             deleteButtoun.setEnabled(false);
             addButton.setEnabled(false);
             if(ae.getSource().equals(cancelButton))
             {
                 disabledByDefault();
             }
         }
         else if(ae.getSource().equals(cancelButton))
         {
             dispose();
         }
     }
}

1 个答案:

答案 0 :(得分:1)

您正尝试通过检查cancel来处理与if按钮位于同一add - 分支中的ActionEvent.getSource()按钮,但此代码将永远不会执行来源不能同时是addButtoncancelButton

相反,您需要将disabledByDefault()调用移动到处理cancelButton的部分,并通过添加新变量(通过添加新变量来区分add之前是否已按下add按下add按钮时设置,或者只需检查... else if(ae.getSource().equals(cancelButton)) { if (!addButton.isEnabled()) { disabledByDefault(); } else { dispose(); } } 按钮的状态:

{{1}}