Classe que extende SwingWorker com vários métodos

galera,

tenho uma classe que extende SwingWorker e chama uns métodos pra consultas no Banco de Dados para popular umas tabelas…

Porém, tenho umas 5 tabelas diferentes para popular, mas como são todas para a mesma classe, queria fazer todas numa classe de wing worker apenas.

Consigo isso?

Se a pergunta ficou “meio estranha”, tento explicar melhor.

Valeu…

Nossa, li seu post e não entendi nada.

Tente se expressar melhor, pois também fiquei na mesma…
:?

Você quer popular 5 tabelas na sua interface com o mesmo SwingWorker, método doInBackground? Esteja à vontade.

Para quem não entendeu o que é SwingWorker:

http://java.sun.com/docs/books/tutorial/uiswing/concurrency/worker.html
http://java.sun.com/javase/6/docs/api/javax/swing/SwingWorker.html

Isso mesmo thingol,

o único detalhe é que rei popular cada tabela em um momento diferente, e cada tabela segue um model diferente.

Pra resolver o problema dos models diferentes estou usando Reflection, mas para poder chamar o doInBackground de momentos diferentes, fazendo coisas diferentes, ainda não sei como fazer.

Reformulando a pergunta…

Eu tenho uma classe GUI que possui 5 tabelas chamada ConsolidadoUI.
Cada tabela é populada de acordo com a linha que fora selecionada na tabela anterior.
Na última tabela, a linha que fora selecionada carrega um label e mais duas tabelas.

Minha dúvida é a seguinte:

Tenho a classe ConsolidadoWorker, que extende SwingWorker, para fazer os processos em “paralelo”.

Porém, o método doInBackground() desta classe teria que fazer vários processos diferentes, diferenciando apenas pelo parâmetro que é passado.

Como faço isso? Com if ? Tem como eu fazer isso dinamicamente, sem ter que criar algo para verificar quais os parâmetros passados?

Poderia criar mais de um deste método doInBackground(), de forma que a cada necessidade diferente eu o chame diretamente?

Não sei, alguma coisa assim…

Você pode criar várias classes que derivam de SwingWorker (ou de ConsolidadoUI) já que só é possível implementar o doInBackground uma única vez em uma classe.
Obviamente pôr um “switch” gigante no “doInBackground” é meio feioso - você vai ter um método gigantesco, pelo que estou supondo.

Entendi…

Bom, acho que vou criar classes distintas para cada função do doInBackground().

Valeu thingol !!!

Valeu pessoal que ajudou ae !!!