Interface + vector + Remover

Galera eu fiz um cadastro de clientes usando o vector ja fiz o cadastro e para ele listar todas as pessoas cadastradas. Agora eu fiz uma janela com um TextField para o usuario digitar o codigo do cliente que quer remover queria saber como faço isso.
Ja tentei um monte de codigo de remorçao so deu erro, remove(), removeElement(), removeElementeAt()…

Vejam o codigo to errando em q??

import java.awt.BorderLayout; 
import java.awt.Color; 
import java.awt.FlowLayout; 
import java.awt.GridLayout; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.util.Vector; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JOptionPane;
import javax.swing.JPanel; 
import javax.swing.JTextField;

public class JanelaRemoveCliente extends JFrame { 

   private JLabel l1; 

   private JTextField entrada;
   
   private JButton bSim, bNao; 

   private JPanel pTop, pBot; 

   public static Vector vector;
   
   public static void main(String args[]) { 
      JanelaRemoveCliente f = new JanelaRemoveCliente(); 
      f.setVisible(true); 

   } 

   public JanelaRemoveCliente() { 
      super("Remover Clientes"); 
      setSize(300, 200); 
       
      l1 = new JLabel("Informe o Codigo do Cliente a Ser Removido:"); 
      entrada = new JTextField(10); 

      bSim = new JButton("Sim"); 
      bSim.addActionListener(new ActionListener() { 
         
    	  public void actionPerformed(ActionEvent e) { 
            Cliente cliente = new Cliente(); 
            
            //Como faço isso dar certo??
            vector.removeElementAt(// Codigo que o usuario digita-se); 
           
            
            dispose();
           } 
      }); 
      
      bNao = new JButton("Não"); 
      bNao.addActionListener(new ActionListener() { 
         public void actionPerformed(ActionEvent e) { 
            dispose(); // Só esconde a tela 
         } 
      }); 

      pTop = new JPanel(new FlowLayout(FlowLayout.LEFT)); 
      pTop.setBackground(Color.LIGHT_GRAY); 
      pBot = new JPanel(new GridLayout(1, 2)); 

      pTop.add(l1); 
      pTop.add(entrada);
      add(pTop, BorderLayout.CENTER); 

      pBot.add(bSim); 
      pBot.add(bNao); 
      add(pBot, BorderLayout.SOUTH);
}
}

que tal vc procurar no seu vetor qual é a posição do objeto a ser removido e então remove-o?

vc poderia sobreescrever um metodo equals(Object o) dos objetos que vc coloca dentro do vector.

Pra que? pra usar o metodo indexOf do vector

do javadoc, indexOf(Object x)
'Searches for the first occurence of the given argument, testing for equality using the equals method."

ai vc ve se o resultado é -1, então o usuario que vc quer não existe, caso contrario remova-o do vetor. barnada.

vc só tem que criar um metodo equals(Object o) que retorne um booleano caso o seu criterio de pesquisa esteja ok. Pra isso vc cria um objeto com o codigo que vc quer apagar e manda pro metodo.

algo como

class Pessoa{ int codigo; public Pessoa(int codigo) { this.codigo = codigo ; } public boolean equals(Object o) { Pessoa x = (Pessoa) o; return this.codigo == x.codigo; } }

esta é uma forma. existem diversas :wink: