2010-04-15 24 views
1

所以我想讓我的GUI工作。當我運行下面的代碼,它什麼都不做,我敢肯定,我可能只是做了愚蠢的事情,但我完全被卡住......有一個問題讓我的ActionListeners,處理程序,和GUI溝通

public void actionPerformed(ActionEvent e){ 
    UI.getInstance().sS++; 

    if((UI.getInstance().sS %2) != 0){ 
     UI.getInstance().startStop.setName("STOP"); 
     UI.getInstance().change.setEnabled(false); 
    }else if(UI.getInstance().sS%2 == 0){ 
     UI.getInstance().startStop.setName("START"); 
     UI.getInstance().change.setEnabled(true); 
    } 


} 

public void setStartListener(StartHandler e){ 
    this.startStop.addActionListener(e); 
} 

SS是遞增每次按鈕的int startStop被點擊。改變也是一個按鈕。

+3

你的的ActionListener添加到是假設所有的運行按鈕那?即你調用setStartListener()? – 2010-04-15 01:30:14

+0

我沒有在我的測試類中實例化StartListener。我知道這是愚蠢的......感謝提請我注意這一點。 – badpanda 2010-04-15 01:39:49

回答

2

不是一個真正的答案,但我認爲,如果你使用一個布爾,而不是一個整數,像你的代碼會更簡單:

public void actionPerformed(ActionEvent e){ 
    final boolean isEnabled = UI.getInstance().change.isEnabled(); 
    if(isEnabled){ 
     UI.getInstance().startStop.setName("STOP"); 
    }else{ 
     UI.getInstance().startStop.setName("START"); 
    } 
    UI.getInstance().change.setEnabled(!isEnabled); 
}