Pessoal, eu uso NetBeans, e estou precisando fazer um timer… 1- Esse timer vai fazer uma contagem regreciva de 30segundos (de 30 até 0). 2- A contagem regreciva tem que ser mostrada numa jLabel, atualizando de 1 em 1 segundo 3- Quando clicar no botão cancelar, o timer para e volta para 30 segundos.
[color=red]Ps: [/color]Antes que os maliciosos pensem, não é trabalho de escola não *É pq eu fiz isso em delphi, e usava o componente timer, o código ficava simples… Ae resolvi tentar fazer em java…
O código que ficaria dentro do contador seria:
int tempo = 30
tempo := tempo -1;
String hihi = new Integer(tempo).toString();
jLabel11.setText(hihi);
Mas não sei como implementar o timer de 1 em 1 segundo… Qualquer ajuda é bem vinda… Valew!
Pow… Eu rodei o código deles aki, e dá certo…
Só que eu mecho com frame, então não precisa dakilo de criar um frame, criar uma jlabel, setar o tamanho deles e tal…
Mas nesses dae é pra mostrar as horas… não um contador de segundo…
Na verdade o que ele faz é pegar a hora do sistema…
Mas mesmo assim vo tentar entender a sintaxe e fazer aqui…
Por enquanto… Não Resolvido
lina
Oi,
Faz o seguinte. Tente adaptar o que o pessoal fez para seu exemplo… Post seu código quando necessário e quando existir dúvidas que nós o ajudamos!
Tchauzin!
ViniGodoy
Naqueles exemplos, bastaria você alterar a função setHora para, ao invés de mostrar as horas, diminuirem de um contador e exibi-lo na tela.
Suellen_Susu
Vini, vc teria como me ajudar?
fiz um timer, como mostra o código abaixo:
publicclasstempo4extendsjavax.swing.JFrame{DateFormatdateFormat;Calendarcalendar;Timertimer;booleanjanela=true;/** Creates new form tempo4 */publictempo4(){this.dateFormat=newSimpleDateFormat("HH:mm:ss");this.calendar=Calendar.getInstance();this.calendar.set(Calendar.MILLISECOND,0);this.calendar.set(Calendar.SECOND,0);this.calendar.set(Calendar.MINUTE,0);this.calendar.set(Calendar.HOUR_OF_DAY,0);this.initialize();initComponents();}protectedvoidinitialize(){this.add(this.getLabel());this.go();}publicJLabelgetLabel(){if(this.jLabel1==null){this.jLabel1=newJLabel(getTime());//this.label.setPreferredSize(new Dimension(100, 22)); }returnthis.jLabel1;}publicvoidgo(){ActionListeneraction=newActionListener(){publicvoidactionPerformed(ActionEvente){jLabel1.setText(getTime());}};this.timer=newTimer(1000,action);this.timer.start();}publicStringgetTime(){this.calendar.add(Calendar.SECOND,1);returnthis.dateFormat.format(this.calendar.getTime());}//abaixo os métodos dos botoesprivatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){// TODO add your handling code here:if(!timer.isRunning()){timer.start();}}privatevoidjButton2ActionPerformed(java.awt.event.ActionEventevt){// TODO add your handling code here:if(timer.isRunning()){timer.stop();}}privatevoidjButton3ActionPerformed(java.awt.event.ActionEventevt){// TODO add your handling code here:this.dispose();JOptionPane.showMessageDialog(null,"Você irá para a próxima janela!");newtempo4().setVisible(true);}
Só q é o seguinte: ao clikar no 3jButton, ele fecha minha janela, e apos a mensagem, chama ela d novo....
Só q eu queria q ao abrir a janela d novo, ele continuasse o timer, com o tempo q ele parou antes, e não q reiniciasse a cada vez q abrir a janela d novo...