Remover registro de uma lista [RESOLVIDO]

6 respostas
guisantogui

Gente to com um problema aqui, esse meu botão não esta deletando da lista quando a lista só tem um Elemento.

Notas: a primeira vez que eu executo o deletar ele estoura excessão, e se eu tento novamente ele entra no if.

private void btnDeletaRegistroAtualActionPerformed(java.awt.event.ActionEvent evt) {                                                       
        try{
            if(getCadastroDePessoas().primeiraPessoaDaLista() != null){
                getCadastroDePessoas().remove(getCadastroDePessoas().pessoaPosicaoAtual());
                gerenciaTabelas.excluiRegistro(getCadastroDePessoas().pessoaPosicaoAtual().parametroDeletaTabPessoas() + getCadastroDePessoas().getPosicao());

                // TODO problema em deletar o ultimo, verificar exclusão em banco de dados

                if(getCadastroDePessoas().getPosicao() < getCadastroDePessoas().getTamanhoLista()){
                    txtNome.setText(getCadastroDePessoas().pessoaPosicaoAtual().getNome());
                    txtBairro.setText(getCadastroDePessoas().pessoaPosicaoAtual().getBairro());
                    txtCidade.setText(getCadastroDePessoas().pessoaPosicaoAtual().getCidade());
                    txtEndereco.setText(getCadastroDePessoas().pessoaPosicaoAtual().getEndereco());
                    txtTelefone.setText(getCadastroDePessoas().pessoaPosicaoAtual().getTelefone());
                    txtEmailGeral.setText(getCadastroDePessoas().pessoaPosicaoAtual().getEmail());
                    txtFormatCpf.setText(getCadastroDePessoas().pessoaPosicaoAtual().getCpf());
                    txtFormatCnpj.setText(getCadastroDePessoas().pessoaPosicaoAtual().getCnpj());
                    txtUF.setText(getCadastroDePessoas().pessoaPosicaoAtual().getUf());
                    txtFax.setText(getCadastroDePessoas().pessoaPosicaoAtual().getFax());
                    txtApelido.setText(getCadastroDePessoas().pessoaPosicaoAtual().getApelido());
                    txtHomePage.setText(getCadastroDePessoas().pessoaPosicaoAtual().getHomepage());
                    txtFormatCep.setText(getCadastroDePessoas().pessoaPosicaoAtual().getCep());
                }

                else{
                    txtNome.setText("");
                    txtBairro.setText("");
                    txtCidade.setText("");
                    txtEndereco.setText("");
                    txtTelefone.setText("");
                    txtEmailGeral.setText("");
                    txtFormatCpf.setText("");
                    txtFormatCnpj.setText("");
                    txtUF.setText("");
                    txtFax.setText("");
                    txtApelido.setText("");
                    txtHomePage.setText("");
                    txtFormatCep.setText("");
                }

                salvaEAbre.salvaRegistro(getCadastroDePessoas());
                jAdicionaNovo.setCdp(salvaEAbre.abreRegistro());
                
                JOptionPane.showMessageDialog(null, "Registro Excluído com sucesso");
            }

            else{
                JOptionPane.showMessageDialog(null, "Entrou no IF", "Cuidado", JOptionPane.INFORMATION_MESSAGE);
            }
        }
        catch(IndexOutOfBoundsException ioobe){
            JOptionPane.showMessageDialog(null, "Excessão!", "Cuidado", JOptionPane.INFORMATION_MESSAGE);
        }
    }

6 Respostas

evertonsilvagomesjav

Cara posso nao ter entendido seu problema, mas vc ta querendo remover tudo do List? se for utilize removeAll()

guisantogui

não não, eh tipo eu vou removendo um a um, soh para teste, mas qdo fica só um elemento ele diz q já esta vazia a lista :confused:

evertonsilvagomesjav

posta seus metodos ai getCadastroDePessoas() e primeiraPessoaDaLista()

guisantogui

ok

Primeira pessoa da lista

public Pessoa primeiraPessoaDaLista(){
        if(lista.size() > 0){
            return lista.get(0);
        }
        else
            return null;
    }

getCadastroDePessoas

public CadastroDePessoas getCadastroDePessoas(){
        return jAdicionaNovo.getCdp(); // Só retorna a lista correta, por que se eu desse um "new" iria criar uma lista vazia!
    }
evertonsilvagomesjav

posta o pessoaPosicaoAtual() também.

guisantogui

Olha só meu acho que vou conseguir resolver, mas vlw pela força!

Abraçç!

Criado 20 de abril de 2010
Ultima resposta 20 de abr. de 2010
Respostas 6
Participantes 2