2013-04-09 133 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