2013-04-09 129 views
0

我在面板上有5个按钮,分别命名为“添加”,“编辑”,“删除”,“确定”,“取消”。现在,如果我马上点击取消按钮,表格将终止。我已经从click事件中调用了dispose()方法。Java多个按钮点击

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

我该怎么做?

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

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

您正在尝试处理在同一if分枝为add按钮cancel按钮,通过检查ActionEvent.getSource(),但是由于这段代码将不会执行来源不能同时为addButtoncancelButton

相反,你需要,通过添加一个新的变量(你设定当按下add按钮)到disabledByDefault()呼叫转移到其处理cancelButton的一部分,并区分有是否add之前已经按下,或通过简单地检查add按钮的状态:

... 
else if(ae.getSource().equals(cancelButton)) 
{ 
    if (!addButton.isEnabled()) { 
     disabledByDefault(); 
    } else { 
     dispose(); 
    } 
} 
+0

谢谢你,先生,它帮助! :) – 2013-04-09 11:21:17