Cronômetro

0 respostas
J

Fiz um cronômetro e coloquei ele pra ser exibido como um botão, o código está aí:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;
public class Cronometro extends JFrame
{	
	//cria o botão que servirá para indicar as horas
	private JButton campo;
	Timer tempo;
	int min;
	int seg;
	
	//construtor básico, onde inicia o Timer
	public Cronometro()
	{
		
		super("Cronômetro");
		campo = new JButton("Se quiser parar, clique aqui.");
		add(campo);
		min = 10;
		seg = 0;
		
		//lança o evento
		tempo = new Timer(20,new TimerHandler());
		tempo.start();
	}
	
	
	//classe interna pra captar o evento
	private class TimerHandler implements ActionListener
	{
		
		public void actionPerformed(ActionEvent e)
		{
			
			String msg = String.format("%02d:%02d",min,seg);
			
			//reedita o botão pra exibir
			campo.setVisible(false);
			campo = new JButton(msg);
			campo.setVisible(true);
			add(campo);	
			ButtonHandler handler = new ButtonHandler();
			campo.addActionListener(handler);
			
			if(seg == 0)
			{
				min--;
				seg = 59;
			}
			else
				seg--;
			
			//quando acabar o contador, o Timer irá finalizar
			if(min == -1)
			{
				tempo.stop();
				JOptionPane.showMessageDialog(null,"Fim");
				System.exit(1);
			}
					
		}
	}
	
	class ButtonHandler implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			tempo.stop();
			JOptionPane.showMessageDialog(null,"Fim");
			System.exit(1);
		}
	}

	
		
}

Eu gostaria de saber como usar outros componentes GUI com a mesma função, quero dizer, sem ser um botão, queria colocar uma figura(de um relógio,claro) e o tempo passando nele, como em uma animação.
Me dêem algumas idéias por favor!

Criado 27 de agosto de 2008
Respostas 0
Participantes 1