Falha na implementação de eventos de botões

Boa tarde, baixei uns tutoriais de como criar aplicativos java desktop utilizando padroes, e esta ocorrendo o seguinte:
tenho uma classe GUISocio(JInternalFrame), tem o botão pesquisar que chama o metodo exibirSocios() e o botão excluir que chama o respectivo metodo;

//dentro da classe GUISocio
public void btnPesquisarSocioAddActionListener(ActionListener ouvinte) {
				JOptionPane.showMessageDialog(null,"passou aqui guisocios(botão)");
			btnPesquisar.addActionListener(ouvinte);
		}

public void btnExcluirSocioAddActionListener(ActionListener ouvinte) {
			JOptionPane.showMessageDialog(null,"passou aqui guisocios guisocios(excluir)");
			btnExcluir.addActionListener(ouvinte);
		}

criei tambem uma outra classe OuvinteDeGUISocios, que possui mais duas classes internas, que implementam as ações para os botoes,

public class OuvinteDeGUISocios {

public OuvinteDeGUISocios(GUISocios gui) {
	//guiSocios = gui;
	JOptionPane.showMessageDialog(null,"passou aqui OuvinteDeGUISocio(construtor)");
	gui.btnExcluirSocioAddActionListener(new OuvinteExcluirSocio());
	gui.btnPesquisarSocioAddActionListener(new OuvintePesquisarSocio());
}//btnPesquisarSocioAddActionListener

class OuvintePesquisarSocio implements ActionListener {
	GUISocios guiSocios;
	public void actionPerformed(ActionEvent e) {
		JOptionPane.showMessageDialog(null,"passouaqui OuvinteDeGUISocio(actionPerformed)");
		Socio socio;
		try {
			JOptionPane.showMessageDialog(null,"passouaqui OuvinteDeGUISocio(actionPerformed)");
				String nome = guiSocios.getNome().toString();	
				ControleSocio controle = new ControleSocio();
				List socios = controle.pesquisar(nome);
				guiSocios.exibirSocios(socios);
			} catch (DukeClubeException ex) {
				guiSocios.exibirMensagem(ex.getMessage(), "Mensagem de erro", true);
			}
		}
	}
	class OuvinteExcluirSocio implements ActionListener {
		GUISocios guiSocios;
		public void actionPerformed(ActionEvent e) {
			try {
					Socio socio = guiSocios.getSocio();
					StringBuffer mensagem = new StringBuffer("Confirma a exclusão do sócio abaixo:");
					mensagem.append("\nCódigo: " + socio.getCodigo());
					mensagem.append("\nNome: " + socio.getNome());
					int resposta = guiSocios.pedirConfirmacao(mensagem.toString(), "Exclusão de	" +
							"registro", JOptionPane.YES_NO_OPTION);
				if (resposta == JOptionPane.OK_OPTION) {
					ControleSocio controle = new ControleSocio();
					controle.excluirSocio(socio);
					List socios = controle.pesquisar();
					guiSocios.exibirSocios(socios);
				}
			} catch (DukeClubeException ex) {
				guiSocios.exibirMensagem(ex.getMessage(), "Mensagem de erro", true);
			}
		}
	}
}

só que não ocorre nenhum evento quando eu clico no botão pesquisar ou em excluir, nem erro;as vezes qdo ocorre um erro é bem melhor,rsrsrs.

mas tenho outra implentação, em outra classe bem parecida que ocorre o evento normalmente, alguem ai pode dar uma orientação onde esta o meu erro.

desde VLW.

Você deve primeiro registrar um ouvinte e colocar o código que você quer que ele execute dentro do actionPerformed.

Se você fizer do jeito que está, ele só vai registrar o ouvinte quando a ação ocorrer (como o ouvinte não foi registrado, isso quer dizer nunca).

boa tarde Marcosbiscaro2112, vc diz pra eu implemente um ouvinte certo, seria mais ou menos assim

btnPesquisar.addActionListener(new ActionListener(){
        	public void actionPerformed(ActionEvent evt){
        		btnPesquisarSocioAddActionListener(evt);//aqui diz que, The method btnPesquisarSocioAddActionListener(ActionListener) in the type
// GUISocios is not applicable for the arguments (ActionEvent)
        	}
        });

olha só, esta é uma implementação de outra classe, GUIDadosSocio(JInternalFrame), nela eu tenho tb a implementação de um botão gravar dados,

//classe GUIDadosSocio
public void btnGravarSocioAddActionListener(ActionListener ouvinte){
		btnGravar.addActionListener(ouvinte);
	}

aqui vai a classe OuvinteGUIDadosSocio,

public class OuvinteGUIDadosSocio {
	GUIDadosSocio guiDadosSocio;
	
	class OuvinteGravarSocio implements ActionListener{
		@Override
		public void actionPerformed(ActionEvent e) {
			Socio socio;
			try{
				socio = guiDadosSocio.getSocio();
				ControleSocio controle= new ControleSocio();
				controle.gravarSocio(socio);
				guiDadosSocio.showMensagem("Sócio gravado com sucesso!", false);
				guiDadosSocio.limparCampos();
			}catch(DukeClubeException ex){
				guiDadosSocio.showMensagem(ex.getMessage(), true);
			}
		}
	}
	public OuvinteGUIDadosSocio(GUIDadosSocio gui){
		guiDadosSocio = gui;
		guiDadosSocio.btnGravarSocioAddActionListener(new OuvinteGravarSocio());
	}	
}

o evento do botão gravar funciona corretamente, inclusive ja ate inseri dados no banco.

E ai Galera, alguem tem alguma ideia sobre o post acima???

ai galera, problema resolvido, estava faltando somente instancia a classe OuvinteDeGUISocios, dentro do initComponents, sendo atribuido o evento desta ao botão pesquisar

 btnPesquisar.addActionListener(new ActionListener(){
        	public void actionPerformed(ActionEvent evt){
       		OuvinteDeGUISocios ouvinte =new OuvinteDeGUISocios(new GUISocios());    		        	
                  }
        });

Ai marcobiscaro, VLW pela força ai cara