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?
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?
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,
Será que usar SwingWorker resolveria o problema da JProgressBar? Como eu poderia fazer isso?
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,