Lista Duplamente Ligada

Pessoal neste código quando eu excluo o método exclui toda a lista e perco todos os dados existentes de todas pessoas
porém além de querer deletar apenas uma pessoa apos prévia pesquisa, quando realizo uma pesquisa por nomes o mesmo dado excluído anteriormente persiste em ser exibido !
Desde já obrigado !

[code]

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package Interface.Paineis;

import JavaBeans.Pessoa;
import TerceiraCamada.ListaDuplamenteEncadeada;
import TerceiraCamada.No;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.ParseException;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.text.MaskFormatter;

/**
*

  • @author Rafael Teixeira
    */
    public class PainelExcluir extends JPanel implements ActionListener {
    //Declara os atributos

    private ListaDuplamenteEncadeada listaDuplamenteEncadeada;
    private Pessoa pessoaExcluir;
    private JLabel painelTitulo, pesquisar, logo, nome, idade, dataDeNascimento, cpf;
    private JTextField tPesquisar, tNome, tIdade, tDataDeNascimento, tCpf;
    private JButton btnPesquisar, btnExcluir;
    private MaskFormatter maskTDataDeNascimento, maskTCpf;
    No n;

    //Construtor do PainelExcluir
    public PainelExcluir(ListaDuplamenteEncadeada listaDuplamenteEncadeada) {
    this.listaDuplamenteEncadeada = listaDuplamenteEncadeada;
    this.initComponents();
    this.configComponents();
    this.insertComponents();
    this.setLayout(null);
    this.setBackground(Color.white);
    this.setBounds(0, 0, 866, 700);
    this.setBorder(BorderFactory.createLineBorder(Color.darkGray, 1));
    }
    //Inicia componentes

    private void initComponents() {
    this.pessoaExcluir = new Pessoa();
    //Título do Painel
    painelTitulo = new JLabel(“Excluir Pessoas”, SwingConstants.CENTER);
    //Marca d’agua
    logo = new JLabel(new ImageIcon(getClass().getResource("/imagem/solon_3.jpg")));
    //formulário para pesquisa
    pesquisar = new JLabel(“Pesquisa por Nome”, SwingConstants.RIGHT);
    tPesquisar = new JTextField();
    btnPesquisar = new JButton(“Pesquisar”);
    //JLabel
    nome = new JLabel(“Nome:”, SwingConstants.RIGHT);
    idade = new JLabel(“Idade:”, SwingConstants.RIGHT);
    dataDeNascimento = new JLabel(“Data de Nascimento:”, SwingConstants.RIGHT);
    cpf = new JLabel(“CPF:”, SwingConstants.RIGHT);

     //JTextField
     tNome = new JTextField();
     tDataDeNascimento = new JTextField(10);
     tIdade = new JTextField();
     tCpf = new JTextField(14);
    
     btnExcluir = new JButton("Excluir");
    

    }

    //Configura componentes
    private void configComponents() {

     //logo.setBounds(600, 370, 500, 314);
     pesquisar.setBounds(10, 50, 120, 20);
     tPesquisar.setBounds(140, 50, 250, 20);
     btnPesquisar.setBounds(400, 45, 120, 30);
     btnPesquisar.setIcon(new ImageIcon(getClass().getResource("/imagem/pesquisar.png")));
     btnPesquisar.addActionListener(this);
     logo.setBounds(300, 370, 500, 314);
     try {
         maskTCpf = new MaskFormatter("###.###.###-##");
         maskTDataDeNascimento = new MaskFormatter("##/##/####");
         maskTCpf.setPlaceholderCharacter(' ');
         maskTDataDeNascimento.setPlaceholderCharacter(' ');
     } catch (ParseException ex) {
         JOptionPane.showMessageDialog(null, "Droga de erro!!!",
                 "Erro!", JOptionPane.ERROR_MESSAGE);
     }
     tCpf = new JFormattedTextField(maskTCpf);
     tDataDeNascimento = new JFormattedTextField(maskTDataDeNascimento);
     painelTitulo.setBounds(10, 10, 840, 30);
     painelTitulo.setForeground(Color.darkGray);
     painelTitulo.setFont(new Font("Arial", Font.BOLD, 24));
    
     nome.setBounds(10, 100, 120, 20);
     dataDeNascimento.setBounds(10, 130, 120, 20);
     idade.setBounds(10, 160, 120, 20);
     cpf.setBounds(10, 190, 120, 20);
     tNome.setBounds(140, 100, 350, 20);
     tNome.setEditable(false);
     tDataDeNascimento.setBounds(140, 130, 70, 20);
     tDataDeNascimento.setEditable(false);
     tIdade.setBounds(140, 160, 30, 20);
     tIdade.setEditable(false);
     tCpf.setBounds(140, 190, 95, 20);
     tCpf.setEditable(false);
     btnExcluir.setBounds(140, 520, 150, 30);
     btnExcluir.setIcon(new ImageIcon(getClass().getResource("/imagem/delete.png")));
     btnExcluir.setEnabled(false);
     btnExcluir.addActionListener(this);
    

    }

    private void insertComponents() {
    this.add(painelTitulo);
    this.add(logo);
    this.add(pesquisar);
    this.add(tPesquisar);
    this.add(btnPesquisar);
    this.add(nome);
    this.add(dataDeNascimento);
    this.add(idade);
    this.add(tNome);
    this.add(tDataDeNascimento);
    this.add(tIdade);
    this.add(btnExcluir);
    }

    @Override
    public void actionPerformed(ActionEvent e) {

     if (e.getSource().equals(btnPesquisar)) {
    
         if (!tPesquisar.getText().isEmpty()) {
             this.pesquisarExcluir();
    
         } else {
             JOptionPane.showMessageDialog(null,
                     "Você deve digitar um nome para realizar a exclusão !",
                     "Erro!", JOptionPane.ERROR_MESSAGE);
         }
     }
    

if (e.getSource().equals(btnExcluir)) {

listaDuplamenteEncadeada.removerPrimeiro(pessoaExcluir);

}

private void pesquisarExcluir() {

    No no = this.listaDuplamenteEncadeada.getPrimeiro();
    Pessoa pessoa = (Pessoa) no.getObjeto();

    while (!tPesquisar.getText().equals(pessoa.getNome())) {
        no = no.prox;
        if (no == null) {
            JOptionPane.showMessageDialog(null, "Nome inexistente na lista !",
                    "ERRO!", JOptionPane.ERROR_MESSAGE);
        } else {
            pessoa = (Pessoa) no.getObjeto();
        }
    }
    if (pessoa != null) {

        tNome.setText(pessoa.getNome());
        tDataDeNascimento.setText(pessoa.getDataDeNascimento());
        tIdade.setText(pessoa.getIdade());
        tCpf.setText(pessoa.getCpf());
        
        //tProfissao.setText(pessoa.getProfissao());

        this.listaDuplamenteEncadeada.inserirPrimeiro(pessoa);
        btnPesquisar.setEnabled(false);
        tPesquisar.setEditable(false);
        btnExcluir.setEnabled(true);
        btnPesquisar.setEnabled(false);
        tPesquisar.setText(null);
    }

}

}

//segue aqui os métodos da classe listaDuplamenteEncadeada
public void removerPrimeiro(Pessoa pessoa) {
if (getTotalNos() == 1) {
primeiro = ultimo = null;
} else {
System.out.println(pessoa.getNome());
primeiro = primeiro.prox;
primeiro.ant = null;
System.out.println(pessoa.getNome());

    }
    totalNos--;
}[/code]

Ao invés de enviar o projeto, poste o código com as tags code e mostre exatamente onde aparece o erro. Fica mais fácil para quem está sem IDE agora.

:thumbup: