Exemplo de como popular um JTable com uma Query

5 respostas
P

Bom dia a todos!

Alguém por acaso pode me enviar um exemplo prático de como popular um JTable com uma Query?

Desde já obrigado.

5 Respostas

keller

num tenho nada pronto aqui mas o segocio é o neguinte…

usar um DefaultTableModel na tabela…

se faz a pesquisa no banco e faz algo do tipo…

Vector principal = new Vector();
while(rs.next())
{
Vector auxiliar = new Vector();

auxiliar.add(rs.getString("nome_da_coluna1"));
auxiliar.add(rs.getString("nome_da_coluna2"));

principal.add(auxiliar);
}

suaTable.setDataVector(principal);

boa sorte ae! :smiley:

brlima

“prsantos”:
Bom dia a todos!

Alguém por acaso pode me enviar um exemplo prático de como popular um JTable com uma Query?

Desde já obrigado.

Por favor, dê uma pesquisada antes de perguntar. Existem varios topicos sobre essa mesma pergunta. Acho que uma procura com base na palavra [color=“blue”]JTable[/color] vai trazer tudo que vc precisa :smiley:

Esse link é um otimo inicio.

Flw!

dtybel
public void getGradeContrato(int codContrato) throws ParseException{

       //Consultar contratos
        Contratos oContrato = new Contratos();
        if (codContrato > 0) { //Em caso de gerar uma nova vá direto
            oContrato.setCodContrato(codContrato);
        }

        ResultSet resultSet = null;

        String[] colunasTabela = new String[]{"Código", "Cliente", "Titulo", "Valor Doc."};
        DefaultTableModel modeloTabela = new DefaultTableModel(null, colunasTabela) {

            @Override
            public boolean isCellEditable(int row, int col) {
                return false;
            }
        };
        contratojTable.setModel(modeloTabela);
        //Dimensionar colunas
        contratojTable.getColumnModel().getColumn(0).setMinWidth(70);
        contratojTable.getColumnModel().getColumn(0).setPreferredWidth(70);
        contratojTable.getColumnModel().getColumn(0).setMaxWidth(70);
        contratojTable.getColumnModel().getColumn(1).setMinWidth(200);
        contratojTable.getColumnModel().getColumn(1).setPreferredWidth(200);
        contratojTable.getColumnModel().getColumn(1).setMaxWidth(200);
        contratojTable.getColumnModel().getColumn(2).setMinWidth(200);
        contratojTable.getColumnModel().getColumn(2).setPreferredWidth(200);
        contratojTable.getColumnModel().getColumn(2).setMaxWidth(200);


        try {
            resultSet = oContrato.getConsultar(conexao);
            if (resultSet.getRow() == 1){
             resultSet.first();
            }


        } catch (SQLException ex) {
            Logger.getLogger(jFPedido.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {

            while (resultSet.next()) {

                modeloTabela.addRow(new String[]{
                     resultSet.getInt("codContrato"),
                    resultSet.getString("cliente"),
                    resultSet.getString("titulo"),
                    resultSet.getString("valorTotal")
                });

            }

        } catch (SQLException ex) {
            Logger.getLogger(jFPedido.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
MarcioCasteloBranco

Como vc esta criando sua jtable,
vc esta usando o defaulttablemodel?

Posta o seu codigo de criação da jtable?

dtybel
try {
            // TODO add your handling code here:
            ClassConecta.conecta();
            java.sql.PreparedStatement stmtQuery = ClassConecta.con.prepareStatement("Select * from pessoas");
            ResultSet resultSet = stmtQuery.executeQuery();
            resultSet.beforeFirst();

            DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();

            while (resultSet.next()){
            modelo.addRow(new Object[]{
                resultSet.getString("codPessoa"),
                resultSet.getString("pessoa"),
                resultSet.getString("telefone")
            });

            }
            
            jTable1.setModel(modelo);


        } catch (SQLException ex) {
            Logger.getLogger(DesktopApplication1View.class.getName()).log(Level.SEVERE, null, ex);
        }
Criado 15 de outubro de 2004
Ultima resposta 11 de out. de 2010
Respostas 5
Participantes 5