Alternativa ao Observer Observable

4 respostas
EugenioMonteiro

Tenho uma classe que realiza um processamento e outra é uma janela que contem uma JProgressBar. Encontrei aqui no GUJ um tutorial sobre o uso da classe Observable e da interface Observer para atualizar a JProgressBar, porém se a minha classes extends Observable e implements Runnable ela deve ser criada como objeto da classe Thread, e não é isso que eu quero (se ele for do tipo Thread ela não terá os demais métodos que eu escrevi). Qual seria outra forma de uma classe atualizar uma JprogressBar?

4 Respostas

EugenioMonteiro

Será que a única alternativa é fazer a classe (Thread) que realiza o processamento conhecer a JProgressBar? Assim: minhaClasse.setProgressBar(pb). E no método run() atualizar o valor?

andrepestana

Eugenio,

pelo que eu entendí vc não quer estender a classe Observable. Há uma solução para esse problema. Vc não precisa usar a classe Observable que já vem com a api do java. Vc pode criar as suas próprias interfaces e implementá-las em suas classes que é muito mais flexível.

Dê uma lida nesse capítulo do livro Head First Design Patterns:

http://books.google.com.br/books?id=LjJcCnNf92kC&dq=head+first+design+patterns&pg=PP1&lpg=PP1&sig=ACfU3U3HSkwVy69DutMnAjIb-f6G3Xm7zw&q=keeping+your+objects+in#PPA37,M1

Espero ter ajudado!

Abraço,

EugenioMonteiro

Será que usar SwingWorker resolveria o problema da JProgressBar? Como eu poderia fazer isso?

andrepestana

Vc chegou a ler sobre Pattern Observer?

Crie suas próprias interfaces e aplique assim como vc faria com a classes da API do Java.

Abraço,

Criado 19 de outubro de 2008
Ultima resposta 23 de out. de 2008
Respostas 4
Participantes 2