我正在尝试为学校项目创建一个小按钮游戏。游戏是什么,有几个按钮,每个像3秒钟会闪烁一个颜色,然后如果你按它时颜色,它保持这种颜色。
我创建了所有按钮,它们显示得很好。我只需要帮助处理实际的处理代码。
我遇到的问题
timer = new Timer(length, jButton1ActionPerformed);
timer.setInitialDelay(pause);
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
jButton1.setBackground(Color.blue);
}
现在这不是我真正的游戏,我只是试图摆脱Swing Timers
现在我有按钮改变颜色,这是我试图让它在点击时保持这种颜色的代码。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if(jButton1.getBackground().equals(Color.blue){
jButton1.setBackground(Color.blue);
timer.stop();
}
}
答案 0 :(得分:2)
您将需要使用Swing Timer来处理动画。在Timer的ActionListener中,您将拥有随机选择按钮的代码(Random类可以在这里提供帮助)并可能通过setForground(...)
更改其颜色,甚至可以使用ImageIcons并通过{{交换图标1}}。然后,JButton的ActionListener可以检查按钮的图标或前景色并采取相应的行动。
由于这是一个学校项目,我没有发布代码解决方案,但会添加一些应该有用的链接:
要为您的Timer创建一个ActionListener,请执行此操作 - 创建一个内联:
setIcon(...)