Uso de Thread para um cronometro

2 respostas
R

Postei ontem aki no forum, perguntando como implementar um cronometro.
Fiz uma classe cronometro e tenho quase certeza que ela esta certa so que naum sei como fazer ela rodar junco com a minha aplicação, quero que quando o usuário clicar em iniciar, o tempo começa a correr e ser mostrado em tempo real num display (text field). minha classe é essa:

public String crono(boolean start){  //start eu recebo da minha frame
        String tempo = "";
        
        inicio = System.currentTimeMillis(); //inicio a contagem
        
        while(start){ //se start for true faça, inicio meu laço ate start ficar falso
            mil = System.currentTimeMillis(); 
            mil = mil - inicio; //tira a diferença do tempo inicial com o tempo atual
            
            //contador dos milesegundos
            if(mile < 1000){
                mile++;
            }
            else{
                mile = 0;
                cent++;
            }
            
            //conta os segundos e zera os centesimos
            if (cent >= 99){
                cent = 0;
                seg++;
            }
            //conta os minutos e zera o segundos
            if(seg >= 59){
                seg = 0;
                min++;
            }
            
            //passa para o formato correto
            if(min < 10){
                min = Integer.parseInt("0" + String.valueOf(min));
            }
            if(seg < 10){
                seg = Integer.parseInt("0" + String.valueOf(seg));
            }
            if(cent < 10){
                cent = Integer.parseInt("0" + String.valueOf(cent));
            }
            
            //concatena
            tempo = String.valueOf(min) + ":" + String.valueOf(seg) + ":" + String.valueOf(cent);
            
            return tempo;
        }
        return tempo;
    }

Como utiliza uma thread e onde a ponho na classe cornometro ou na frame? ou nos dois?

Dezde ja agradeço

2 Respostas

P

Sua classe deve extender Runnable… cria uma classe como mostrado a baixo… o metodo run é o q vai rodar quando a thread for iniciada…

public class Cronometro implements Runnable {
    
    public Cronometro() {

    }
public void run() {
   
   
}

para chamar a thread é assim:

Cronometro cron = new Cronometro ();
new Thread(cron).start();
R

Cara, coloquei o runnable e a função, mas ela nuam esta sendo executada ao mesmo tempo, ela so é executada uma vez quando clico no botão, eu quero que quando eu clicar no botão a função fique execuntando ate eu apertar outro botão e parar a função, e enquanto a função vai rodando ela vai me retornando o tempo e vou atualizando meu text field. Sabe como posso para resolver isso?

Vlw

Criado 14 de outubro de 2007
Ultima resposta 14 de out. de 2007
Respostas 2
Participantes 2