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();
{
}
}