Método Genérico inteligente para preencher JTABLE

Bem gente, k estou eu mais uma vez bringando com JTable.
Seguinte na aplicação que estou desenvolvendo irei usar JTable em várias partes. Sendo assim para não gerar redundância de código pensei em criar um metodo genérico inteligente que servirá para prenencher todas as JTables da aplicação. Abaixo segue meu código.

classe responssável por fazer mudanças na JTable

[code]

  1. import java.sql.SQLException;
  2. import javax.swing.JOptionPane;
  3. import javax.swing.table.DefaultTableModel;
  4. public class manut_tables {
  5. public static void enche_tabela(DefaultTableModel modelo, String campos[]) {   //metodo para preencher tabelas  
    
  6.     modelo.setNumRows(0);  
    
  7.     try {  
    
  8.         while(ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.next()) {  
    
  9.             modelo.addRow(new Object[] {  
    
  10.             ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.getString(campos[0]),  
    
  11.             ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.getString(campos[1]),  
    
  12.             ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.getString(campos[2]),  
    
  13.             ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.getString(campos[3]),                  
    
  14.             ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.getString(campos[4]),                  
    
  15.             });  
    
  16.         }  
    
  17.     }  
    
  18.     catch(SQLException erro){  
    
  19.         JOptionPane.showMessageDialog(null,"Erro ao listar no JTable "+erro);  
    
  20.     }  
    
  21. }  
    
  22. }[/code]

agora o meu exemplo utilizando a classe acima.

   1.         ConectaPGSQL.retorna_obj_ConectaPGSQL().execSQL("select * from pessoas");  
   2.         DefaultTableModel tabela_clientes_modelo = (DefaultTableModel)tabela_clientes.getModel();  
   3.         String campo[] = new String[]{"pess_codigo", "pess_nome", "pess_endereco",  
   4.                                       "pess_cidade", "pess_bairro"};  
   5.         manut_tables.enche_tabela(tabela_clientes_modelo, campo);  

Da forma que está a classe manut_tables está dedicada apenas para o exemplo que a chamou.
O que eu quero é deixar o método encher_tabela inteligente e genérico que possa prenencher qualquer JTable sem saber o número de colunas nem o nome dos elementos dentro do resultset.

Alguém pode me ajudar PELO AMOR DE DEUS, já estou a mais de 1 semana brigando com JTAble. Se alguém poder ajudar agradeço.

Seu código seria isso:

while(ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.next()) {    
                int len = campos.lenght;
                Object[] row = new Object[len];
                for(int i =0; i < len;i++)
                   row[i] = ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.getString(campos[i]);
                 modelo.addRow(row);        
             } 

Entretanto NÃO use DefaultTableModel.
http://www.guj.com.br/posts/preList/131627/708872.java#708872

cara se vc fosse mulher eu te dava um beijo. :lol:

É isso mesmo, depois que agente ver o problema resolvido percebemos que a solução é bem simples, pura lógica mesmo, mancada minha, mas são mais de 3 anos sem escrever nada to meio enferrujado, e ainda porcima depois devoltar ainda trabalhar com uma linguagem muito diferente da minha antiga (vim do clipper).

Com relação a implementar meu próprio TableModel eu já li alguns tópicos a respeito, li também o tuto que existe aqui no GUJ sobre JTables, porém, apesar de o tuto está bem exemplificado não axo que está muito explicativo, principalmente para quem tem pouca experiência com a linguagem, os exemplos mostram muitos comandos e palavras chaves que eu não conheço e no tudo o autor não explica sobre eles ele apenas dá uma explicação generalizada informando qual a função de cada método. Provavelmente ele desenvolveu o tuto tendo em mente que os leitores já tem boa experiência na liguagem.

Vou ler os liks que vc informou para ver se com eles consigo entender.

Valeu!