让我的ActionListeners,Handlers和GUI进行通信时遇到问题

时间:2010-04-15 01:22:10

标签: java user-interface swing

所以我试图让我的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时都会递增。改变也是一个按钮。

2 个答案:

答案 0 :(得分:2)

不是真正的答案,但我认为如果使用布尔值而不是int,您的代码会更简单,例如:

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); 
}

答案 1 :(得分:1)

这是一个example,它显示了管理Start/Stop按钮的不同方法。