每隔几秒更改一次jButton的颜色

时间:2014-09-23 15:30:58

标签: java swing jbutton

我正在尝试为学校项目创建一个小按钮游戏。游戏是什么,有几个按钮,每个像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();  
       }

    }  

1 个答案:

答案 0 :(得分:2)

您将需要使用Swing Timer来处理动画。在Timer的ActionListener中,您将拥有随机选择按钮的代码(Random类可以在这里提供帮助)并可能通过setForground(...)更改其颜色,甚至可以使用ImageIcons并通过{{交换图标1}}。然后,JButton的ActionListener可以检查按钮的图标或前景色并采取相应的行动。

由于这是一个学校项目,我没有发布代码解决方案,但会添加一些应该有用的链接:


要为您的Timer创建一个ActionListener,请执行此操作 - 创建一个内联:

setIcon(...)