Atualizar os eventos

5 respostas
Z

Galera
Estou usando um Timer (classe javax.swing.Timer) e funcionou legal… ficou mais ou menos assim:

Timer timer = new Timer(1000, new ActionListener() { 
        public void actionPerformed(ActionEvent evt) { 
            processar(); 
        }    
    }); 

    ... 

    timer.start();

Funcionou legal, mas eh o seguinte: Dentro do meu método que chamei de ‘processar’, executa uma grande quantidade de comando, e durante o processo, vou reportando ao sistema o andamento, vou inserindo numa tela os acontecimentos. O que está acontecendo é que ele manda pra tela todos os acontecimentos de uma só vez, depois que os processos acabam e finaliza o timer, entendeu? Entaum o timer ficou legal, ele executa meu método de 1 em 1 segundo, mas só reporta as respostas depois que acabou…
e agora?

5 Respostas

M

ZeroCool, põe esse processar como uma thread, acho que daria certo !

Abraço,
Maicon

Z

Maicon,

vc poderia me dar uma dicar de como trabalhar com Thread? Sou novo no java, entaum ja viu, ne? Tem que ir com calma…
se alguem puder dar uma dica???

valeu a todos!

J

tenta assim olha :

new Thread() { public void run() { processar(); } }.start();

se der certo avisa ai bele

Z

JavaNight,

Eu tentei, mas não é bem isso que eu preciso… realmente ele mandou os eventos no momentos em que aconteciam, porém o que acontece é que eu chamo o método processar dentro de um timer, portanto quando coloquei o Thread dentro do mesmo, ele criou várias instâncias do mesmo método, que é justamente o que eu NÃO quero. Eu quero que o timer só executa um novo método, após terminar o anterior, mas também quero que reporte os eventos… então acabou virando uma “faca de dois legumes”, hehehe… mas se alguém tiver mais alguma sugestão…

valeu a todos…
até +

J

aa era isso??

entao vc faz assim…
nao sei como vc esta declarando seu metodo processar
mas declara ele assim:

public synchronized void processar() { }

o importante nao eh o public nem void…ele pode ser private e td mais
mas use o syncrhonized ok ?
ele nao deixa o metodo ser acessado por uma thread ate que outra terminar de usalo
tenta ai
[]'s

Criado 21 de setembro de 2004
Ultima resposta 21 de set. de 2004
Respostas 5
Participantes 3