//nome do jogador e pontosintpontos=0;Stringusuario="";//varieaveis de jogadasStringjjogador="";Stringmaquina="";intaux;Randomnumeroale=newRandom();// janela de exibiçãopublicvoidjanela(){JFrameftela=newJFrame();ftela.setTitle("Gênius");ftela.setSize(400,600);ftela.setBackground(Color.white);ftela.setLocationRelativeTo(null);ftela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);ftela.setVisible(true);ftela.setLayout(null);//boões JButtonb1=newJButton("0");b1.setBounds(120,220,80,80);b1.setVisible(true);b1.setBackground(Color.BLUE);JButtonb2=newJButton("1");b2.setBounds(200,220,80,80);b2.setVisible(true);b2.setBackground(Color.red);JButtonb3=newJButton("2");b3.setBounds(120,300,80,80);b3.setVisible(true);b3.setBackground(Color.GREEN);JButtonb4=newJButton("3");b4.setBounds(200,300,80,80);b4.setVisible(true);b4.setBackground(Color.YELLOW);// exibir pontosJLabelmPontos=newJLabel("pontos :"+maquina);mPontos.setHorizontalAlignment(SwingConstants.CENTER);mPontos.setBounds(70,150,80,80);//botão de inicar o jogoJButtoninicio=newJButton("INICIAR");inicio.setBounds(90,10,80,30);inicio.setVisible(true);JPanelp1=newJPanel();p1.setVisible(true);ftela.add(mPontos);ftela.add(b1);ftela.add(b2);ftela.add(b3);ftela.add(b4);ftela.add(inicio);//tempo de pause para efeito de botão clicadoTimertempo=newTimer();TimerTasktarefa=newTimerTask(){@Overridepublicvoidrun(){b1.setBackground(Color.BLUE);}};Timertempo2=newTimer();TimerTasktarefa2=newTimerTask(){@Overridepublicvoidrun(){b2.setBackground(Color.red);}};Timertempo3=newTimer();TimerTasktarefa3=newTimerTask(){@Overridepublicvoidrun(){b3.setBackground(Color.green);}};Timertempo4=newTimer();TimerTasktarefa4=newTimerTask(){@Overridepublicvoidrun(){b4.setBackground(Color.yellow);}};//fechamento de pausa do botão//gerar numeros aleatorios// maquina += num.nextInt(4);// acão do botão inicioinicio.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente){maquina+=numeroale.nextInt(4);maquina+=numeroale.nextInt(4);System.out.println(maquina+"\n"+maquina.length()+"\n"+maquina.substring(0,1)+"\n"+maquina.substring(1,2));//vez da mqauinafor(inti=0;i<maquina.length();i++){System.out.println("valor atual"+maquina.substring(i,1));if((maquina.substring(i,i+1)).equals("0")){System.out.println("1 pressed");play("b1");b1.setBackground(Color.white);tempo.scheduleAtFixedRate(tarefa,1000,1000);}elseif((maquina.substring(i,i+1)).equals("1")){System.out.println("2 pressed");play("b2");b2.setBackground(Color.white);tempo2.scheduleAtFixedRate(tarefa2,1000,1000);}elseif((maquina.substring(i,i+1)).equals("2")){System.out.println("3 pressed");play("b3");b3.setBackground(Color.white);tempo3.scheduleAtFixedRate(tarefa3,1000,1000);}else{System.out.println("4 pressed");play("b4");b4.setBackground(Color.white);tempo4.scheduleAtFixedRate(tarefa4,1000,1000);}}//vez do jogador //encerra o jogo}});//ações dos botôesb1.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente){play("b1");jjogador+=0;}});b2.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente){play("b2");jjogador+=" "+1;}});b3.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente){play("b3");jjogador+=" "+2;}});b4.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente){play("b4");jjogador+=" "+3;}});}// som no botão publicvoidplay(Stringaudio){URLurl=getClass().getResource(audio+".wav");AudioClipaudioc=Applet.newAudioClip(url);audioc.play();}publicvoidjlabe(){JLabelmPontos=newJLabel("pontos ");mPontos.setText("pontos :"+pontos);mPontos.setHorizontalAlignment(SwingConstants.CENTER);mPontos.setBounds(70,200,40,40);}apublicvoidcontagem(){try{Thread.sleep(1000);}catch(InterruptedExceptione){}}
}
`
D
Diogo_Cipriano
estou fazendo o jogo gênius e para dar o efeito d botão piscando eu coloquei para em 2 segundo ele ficar e depois chamar outra tarefa para ele retornar a cor normal, foi a forma que encontrei para fazer isso