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.