1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como posso fazer para colocar um checkBox em cada linha de registro que aparece na minha jtable?

Esse é o meu metodo que retorna todos os registros do banco.

public DefaultTableModel consultarPessoas () throws SQLException{

        Connection conn = new ConnectionFactory().getConnection();
        DefaultTableModel modelo = null;
        PropriedadesTabela pt = new PropriedadesTabela();
        sql = "SELECT * FROM CADASTRO_PESSOA";


            PreparedStatement stmt = conn.prepareStatement(sql);
            ResultSet rs = stmt.executeQuery(sql);

            rs.last();// POSICIONA O CURSOR NO ULTIMO REGISTRO DO RESULTSET
            pt.setNumLinhas(rs.getRow());//PASSA O NUMERO DA ULTIMA LINHA PARA O INTEIRO numLinhas

            if(pt.getNumLinhas() > 0){// SE EXISTIR PELO MENOS UMA LINHA ENTRA NO IF
                Vector<String> colunas = new Vector<String>();
                ResultSetMetaData metaData = (ResultSetMetaData) rs.getMetaData();
                pt.setNumColunas(metaData.getColumnCount());
                for (int column = 0; column < pt.getNumColunas(); column++) {
                    colunas.addElement(metaData.getColumnLabel(column+1));//Cria-se e inicializa-se um objeto Vetor de Strings com os dados do banco de dados. Será o cabeçalho da tabela 
                }
                Object[][] corpo = new Object[pt.getNumLinhas()][pt.getNumColunas()];//Cria-se e inicializa-se um objeto Matriz de Strings com n linhas e n colunas. Será o corpo de resultados (registros) da tabela.
                for (int lin = 0; lin < pt.getNumLinhas(); lin++) {
                    rs.absolute(lin+1);//Posiciona o cursor na linha corrente do conjunto de resultados, começando com a primeira (1)
                    for (int col = 0; col < pt.getNumColunas(); col++) {
                        corpo[lin][col] = rs.getObject(col+1);//PEGA O RESULTADO DE UMA CÉLULA DO RESULTSET, CONVERTE PARA STRING E JOGA-O NA MATRIZ
                    }
                }
                modelo = new DefaultTableModel(corpo, colunas.toArray());//CRIA-SE UM NOVO MODELO DE TABELA
            }



        return modelo;
    }

Esse código abaixo é onde vai receber os registros e apresentar na JTable.

jbuttonListar.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                PropriedadesTabela pt = new PropriedadesTabela();
                Funcoes f = new Funcoes(); 
                if (e.getSource() == jbuttonListar){
                    try {
                        table.setModel(f.consultarPessoas());//ATRIBUI TAL MODELO NA TABELA JTABLE DA APLICAÇÃO
                        for (int cont = 0; cont < pt.getNumColunas(); cont++)//Varre todas as colunas de cada linha
                            table.getColumnModel().getColumn(cont);
                        for (int cont = 0; cont < pt.getNumColunas(); cont++)//Varre todas as colunas de cada linha
                            table.getColumnModel().getColumn(cont);
                        for (int cont = 0; cont < pt.getNumColunas(); cont++)//Varre todas as colunas de cada linha 
                            table.getColumnModel().getColumn(cont);
                    } catch (Exception ex) {
                        JOptionPane.showMessageDialog(null, ex.getMessage());
                    }
                }
            }
        });
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ou faça a sua própria pergunta.