【发布时间】:2014-09-26 01:10:45
【问题描述】:
我正在创建一个小“游戏”,您必须在其中单击闪烁颜色的按钮,如果在颜色仍在按钮上时按下它,按钮将保持该颜色。到目前为止,我已经让计时器打开和关闭颜色,但是如果按下按钮,我将无法停止计时器。这是我目前的代码。
//Changes To The Colors
ActionListener timerListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
jButton1.setBackground(Color.blue);
}
};
int timerDelay = 1750;
Timer timer = new Timer(timerDelay, timerListener);
//Changes Colors Back To Default
ActionListener defaultTime = new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
jButton1.setBackground(null);
}
};
int waiter = 1000;
Timer defaultState = new Timer(waiter, defaultTime);
timer.start();
timer.setRepeats(true);
defaultState.start();
defaultState.setRepeats(true);
当我使用 Netbeans 时,我在 ActionPerformed 选项中添加了这就是我遇到问题的地方。它不让我调用 timer.stop();
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if(jButton1.getBackground().equals(Color.blue)){
jButton1.setBackground(Color.blue);
timer.stop();
defaultState.stop();
}
}
现在我只使用一个按钮来掌握整个摇摆计时器的窍门
【问题讨论】:
-
@ControlAltDel 我会调查的。