Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JRRC

Jtable criando linhas desnecessárias

Recommended Posts

Salve salve galera do iMasters, meu problema é o seguinte galera, uso a seguinte função abaixo para fazer uma pesquisa em um banco de dados, ela até que realiza a pesquisa corretamente, no entanto se eu clico uma segunda vez no botão Pesquisar, ele me retorna uma mesma quantidade de linhas das que ja tem no entanto todas em BRANCO.

 

Então eu gostaria de saber se existe algum metodo para mim bloquear essa quantidade de linhas geradas desnecessária ou remove-las.

 

 

protected void listar() throws SQLException 
    {
        ContatoDao dao = new ContatoDao();
        contato = dao.getLista("%" + jTextField1.getText() + "%");
        mostraResultados(contato);        
    }
    
    private void mostraResultados(List<Contato> contato) {
        desabilitaDados();
        jBalterar.setEnabled(true);
        jBexcluir.setEnabled(true);
        jBsalvar.setEnabled(false);
        jBlimpar.setEnabled(false);
        
        if (contato.size() == 0) {
            JOptionPane.showMessageDialog(null, "Contato inexistente!");
        } else {
            String[] linha = new String[]{null, null, null, null, null};
            for (int i = 0; i < contato.size(); i++) {
                tmContato.addRow(linha);
                tmContato.setValueAt(contato.get(i).getId(), i, 0);
                tmContato.setValueAt(contato.get(i).getNome(), i, 1);
                tmContato.setValueAt(contato.get(i).getTelefone(), i, 2);
                tmContato.setValueAt(contato.get(i).getEmail(), i, 3);
                tmContato.setValueAt(contato.get(i).getApelido(), i, 4);  
            }
        }
    }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem estranho isso. Confesso que pelo código que postou não consegui ver o problema. Porém, é recomendável que você crie um modelo a partir dos dados oriundos da lista pra depois defini-lo como modelo da tabela. Dessa forma, a cada pesquisa realizada seu programa criará um novo modelo pra tabela.

 

DefaulTableModel modelo = new DefaultTableModel(dados, titulos);
tabela.setModel(modelo);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.