2012-09-30 41 views
2

有沒有一種方法可以將此按鈕限制爲只留下一次印象?我問的原因是因爲某些原因,每次按下按鈕都會破壞我的其他代碼。所以爲了節省大量的時間調試工作,以某種方式限制它可以被按下的次數會更容易。提前致謝。Java ActionListener buttonPress()限制

ActionListener pushButton = new buttonPress(); 
start.addActionListener(pushButton); 
+1

最好調試它。稍後會在a_s中咬你。 –

+0

禁用actionPerformed – MadProgrammer

+0

上的按鈕它是功課,所以只要它做到了,我就很好。我意識到這不是如何構建可維護的代碼。 @MadProgrammer如何禁用actionPerformed上的按鈕? – Extinct23

回答

1

要防止點擊按鈕,您可以使用JButton.setEnabled(false)。所以你可以這樣做,作爲ActionListener中的第一條語句。

另一種方法是設置一個標誌在你ActionListener像這樣:

final ActionListener pushButton = new ActionListener() 
{ 
    private boolean clicked; 
    public void actionPerformed(final ActionEvent e) 
    { 
     if(clicked) 
     { 
      JOptionPane.showMessageDialog(null, "Action already started"); 
      return; 
     } 
     clicked = true; 
     // ... rest of the action to do ... 
    } 
} 

注意,你不應該在你的事件處理程序執行長時間運行的任務,請參閱design considerations to keep in mind when implementing event handlers in The Java Tutorials

+0

謝謝先生。正是我需要的 – Extinct23