Buscar a data no Sistema

Olá galera;

Eu tenho um LABEL que apresenta a DATA e a HORA do sistema. O problema é que a especificação pede para que os segundos andem…como se fosse um relógio digital. Alguém saberia como posso fazer? Hoje os segundos da LABEL estão estáticos.

Esse é o código:

textData.setText(new SimpleDateFormat("dd/MM/yyyy HH:mm:ss") .format(new Date(System.currentTimeMillis())));

Espero que alguem saiba.

Valeu

você precisa colocar isso num timer pra ficar atualizando no intervalo de tempo que desejar…

vallew’s

:shock: Como assim?? Tem algum exemplo? Nunca mexi com Timer.

Valeu.

Arthur…
de boa velho, tru não procurou antes de perguntar neh?
tome essa pratica por costume, vai ser melhor e mais rapido pra vc…

Exatamente sua duvida…
http://www.guj.com.br/posts/list/35219.java#187295

Sobre timer’s
http://www.guj.com.br/posts/list/35972.java#190961

na propria Sun
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/Timer.html#constructor_summary

você ainda quer um exemplo? :wink:

Grande abraço!!!

vc poderia colocar essa linha d codigo em uma thread com prioridade minima, essa thread nunca morreria, vc colocaria o codigo dentro de um while(true) e colocaria apos cada atualizacao um wait(1000).

Obs.: vi o post sobre o timer, tinha ate me esquecido do Timer.

Neste post, e nos dois da página 2, tem 3 exemplos que funcionam:

  1. O primeiro usa a classe Thread;
  2. O segundo usa a classe java.util.Timer;
  3. O terceiro usa a classe javax.swing.Timer;

Veja:
http://www.guj.com.br/posts/list/52964.java#279083

O ideal é não mexer nas prioridades das Threads. Como o Java roda em multiplos sistemas operacionais, vocë não pode garantir que em um ambiente as threads são sofrerão starvation.

Além do que, é uma thread tão simples e que vai ficar parada por tanto tempo, que não existiria ganho significativo em mexer nas prioridades.

Gente…tentei de toda forma mas não consegui. Só queria que os segundos andassem. O erro tem havido nas Threads.

Abraço.

Chegou a ver os exemplos no link que te indiquei?

vc pode usar algo parecido com isso

public class Hora {

	public void showTime() {
		JLabel texto = new JLabel("", JLabel.CENTER);
		JFrame janela = new JFrame("Relogio");
		while (true) {
			try {
				Thread.sleep(1000);
				texto.setText(this.getTime());
			} catch (InterruptedException e) {
				e.printStackTrace();

			}

			janela.add(texto);
			janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			janela.setEnabled(true);
			texto.setVisible(true);
			janela.setSize(300, 100);
			janela.setVisible(true);

		}
	}

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


	public static void main(String[] args) {
		 new Hora().showTime();
		
		
	}
}

Thiago, sempre que postar código, use a tag code. Senão fica difícil de ler.

Se você ainda não sabe fazer isso, dá uma lida nesse post:
http://www.guj.com.br/posts/list/50115.java

E daí edita o seu tópico ali em cima e ajeita ele. :wink:

tenta assim:

String data = “dd/MM/yyyy”;
String hora = “h:mm - a”;
String data1;

    java.util.Date agora = new java.util.Date();;  
    SimpleDateFormat formata = new SimpleDateFormat(data);  
    data1 = formata.format(agora);
    lblData.setText(data1); 
    lblHora.setText(hora);

kaede, a dica da tag code ali em cima também vale para vc… dá uma lida no artigo, é meio que um padrão do fórum… Além do seu post ficar muito mais legível! :slight_smile:

ok ViniGodoy
vlw pela dica