Listar dados do meu Banco de dados na JTable

3 respostas
A
Boa noite pessoal, to com uma dúvida aqui, Criei uma JTable e queria saber como eu faço para listar os dados do meu Banco de dados dentro dela, eu ja tenho um método que vai lá no Banco de dados e busca os dados vo postar ele..
public List<Contato> listar() throws SQLException{
            Connection conn = Conexao.getConexao();
            String sql = "Select * from usuario";
            PreparedStatement stmt = conn.prepareStatement(sql);
            ResultSet rs = stmt.executeQuery();
            List<Contato> minhaLista = new ArrayList<Contato>();
            while(rs.next()){
	   Contato contato = new Contato(rs.getString("nome"),rs.getString("idade"),rs.getString("telefone"));
                   minhaLista.add(contato);
                }
             rs.close();
            stmt.close();
           return minhaLista;
Vo postar agora a JTable.:
jTable1 = new javax.swing.JTable();
  jTable1.setModel(new javax.swing.table.DefaultTableModel(
    new Object [][] {
        {null, null, null, null},
        {null, null, null, null},
        {null, null, null, null},
        {null, null, null, null}
    },
    new String [] {
        "Idusuario", "Nome", "Idade", "Telefone"
    }
) {
    Class[] types = new Class [] {
        java.lang.Integer.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
    };

    public Class getColumnClass(int columnIndex) {
        return types [columnIndex];
    }
});
jScrollPane1.setViewportView(jTable1);

Bom, agora como eu faço para listar os dados dentro da JTable utilizando meu método de listar?????
Vlw Galera..

3 Respostas

E

Olá,
Crie um novo metodo para popular a sua tabela e neste metodo você vai criar um modelo to tipo DefaultTableModel(o que você esta usando no seu codigo) e logo em seguida você vai iterar pela sua lista adicinando cada linha ao modelo e no final você vai setar este modelo na sua tabela.

A

Tem como da um exemplo prático??

V

Primeiro passo. Crie uma classe Usuario para guardar os dados que vem do banco. Faça o método de leitura retornar um List<Usuario>

Segundo passo, monte o seu próprio TableModel. Aqui tem um link que explica como:
http://www.guj.com.br/posts/list/132698.java#714736

Em hipótese alguma use o DefaultTableModel. Ele é lento, duplica os dados, inseguro e mais difícil de usar.

Criado 6 de março de 2010
Ultima resposta 6 de mar. de 2010
Respostas 3
Participantes 3