Nameless Javanes,

    Alterei seu proprio programa para mostrar-lhe o uso de Thread, que em
java considero bem facil. Como voce nao informou a sua versao do JDK,
informo-lhe a minha: utilizei a versao 1.2 .

    Inclui, inclusive, uma forma de parar o mesmo.

    So' gostaria de observar que, uma vez que voce deu um "stop" em uma
Thread, voce nao pode/deve "starta-la" de volta. No lugar, voce deve criar
uma nova instancia.

    Espero que isto lhe ajude,

    Nil

import java.util.*;
import java.text.*;

public class DataHora extends Thread
{
   private String dataForm;
   private Date dt;
   private boolean stop = false;

   public void run()
   {
      while(!stop)
      {
         System.out.println(getDataHora());
      }
   }

   public String getDataHora()
   {
      dt = new Date(System.currentTimeMillis());
      dataForm = "dd/MM/yyyy - hh:mm:ss";
      return (String) (new SimpleDateFormat(dataForm).format(dt));
   }

   public void stopIt()
   {
      stop = true;
   }

   public static void main (String args[])
   {
      DataHora teste = new DataHora();
      teste.start();


      // As linhas abaixo servem para parar o programa
      // ao pressionar-se a tecla <enter>
      try{
         System.in.read();
         teste.stopIt();
      } catch(Exception ex) {}
   }
}


-----Mensagem original-----
De: Javanes <[EMAIL PROTECTED]>
Para: Sun <[EMAIL PROTECTED]>; SouJava <[EMAIL PROTECTED]>
Data: Segunda-feira, 8 de Maio de 2000 13:28
Assunto: Problemas com data e hora girando na tela.


Caro amigos,
estou com problemas em colocar a data e a hora na tela principal de um
sistema,como faço para que a data e a hora sejam chamados uma vez e
fiquem rodando na tela, isto é quando for mudando a hora o relogio nao
fique estatico.
Este é o codigo que eu criei para isto, ele fica mostrando a data e a
hora mudando de acordo com o sistema operacional, mas isto acontece
graças ao loop infinito. Porem eu nao quero esta forma, se por um acaso
alguem conhecer outra maneira de ficar rodando sem o loop ou algum
exemplo de codigo me ajudaria bastante. Se for possivel fazer com Thread
eu agradeceria se alguem me explicasse como.
Desde já agradeço.

import java.util.*;
import java.text.*;

public class DataHora
{
   private String dataForm;
   private Date dt;

   public DataHora()
   {
      dt = new Date(System.currentTimeMills());
      System.out.println(getDataHora());
   }

   public getDataHora()
   {
      dataForm = "dd/MM/yyyy - hh:mm:ss";
      return (String) (new SimpleDateFormat(dateForm).format(dt));
   }

   public static void main (String args[])
   {
     while(true)
     }
        new DataHora();
     {
   }
}

Responder a