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]
- import java.sql.SQLException;
- import javax.swing.JOptionPane;
- import javax.swing.table.DefaultTableModel;
- public class manut_tables {
-
public static void enche_tabela(DefaultTableModel modelo, String campos[]) { //metodo para preencher tabelas
-
modelo.setNumRows(0);
-
try {
-
while(ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.next()) {
-
modelo.addRow(new Object[] {
-
ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.getString(campos[0]),
-
ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.getString(campos[1]),
-
ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.getString(campos[2]),
-
ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.getString(campos[3]),
-
ConectaPGSQL.retorna_obj_ConectaPGSQL().resultsql.getString(campos[4]),
-
});
-
}
-
}
-
catch(SQLException erro){
-
JOptionPane.showMessageDialog(null,"Erro ao listar no JTable "+erro);
-
}
-
}
- }[/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.