Como fazer um Relógio Independente para vários JtextFields?

3 respostas
G

Olá a todos.

Estou desenvolvendo uma aplicação que, após clicar em um Jbutton, ele começará a contar o tempo em um JtextField correspondente. Só que não estou achando uma forma de fazer com que o texto no JtextField atualize. Ele fica estático.

Um outro problema, é que preciso que cada JtextField tenha um contador diferente. Por exemplo: tenho Jtextfield1, Jtextfield2 e Jtextfield3 e cada um tem seu botão. Quando clico no primeiro botão o Jtextfield1 irá começar a fazer contagem, quando clicar no segundo botão ele não pode influenciar no contador que está no primeiro e nem no terceiro campo.

Como posso fazer isto?

Obrigado desde já.

3 Respostas

BrunoBastosPJ

Você vai ter que dar uma olhada em Threads.
No Java Tutorial tem um material legal, mas está em inglês:
http://java.sun.com/docs/books/tutorial/essential/concurrency/

Dê uma olhada no método estático sleep da classe Thread, você vai ter que usar ele para atualizar seu TextFiel de tempos em tempos.
Não adiante eu postar código aqui agora, você primeiro precisa entender como a concorrência funciona para poder fazer com que os campos não interfiram uns nos outros.

G

Vlw Bruno, vou dar uma olhada.

Como ainda não sei utilizar as Threads, fuçando na net achei uma forma de fazer a contagem de tempo, utilizando a seguinte linha de código:

public void iniciar() {
        while (true) {
try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {

            }
            this.addSegundo();
}
}

Isto aqui me ajudou para fazer a classe que conta cada segundo. Só que quando aplico no programa para atualizar a JtextField a tela toda trava. Já imagino que como é a classe que implementei isto atualiza a cada um segundo, e eu ainda não aprendi como controlar as Threads e concorrência, o programa não trava, só não respondi \o/.
Obrigado BrunoBastos, vou dar uma olhada.
[]s

G

BrunoBastos, obrigado pelo link, olhei dentro do tutorial e entendi como funcionaria a questão.
Só que eu mudei um pouco o processo. Ao invés de cada um ter um contador contando separadamente, fiz um relogio e cada um pegaria a hora em que eu clicasse no jbutton.

Vlw

Criado 25 de janeiro de 2009
Ultima resposta 6 de fev. de 2009
Respostas 3
Participantes 2