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.
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?
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.