Controlador java MVC

Iniciado por Jflavib, Abril 19, 2019, 09:55:11 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Hola buenas tardes amigos, disculpen podrían ayudarme, tengo dos clases que llamo ControladorLogin que es el controlador de la vista login y ControladorPrincipal que es de la vista Principal(utilizando MVC), resulta que estoy creando una aplicación de escritorio en java y al iniciar sesión si funciona el evento del botón para entrar al menú principal, me deja entrar pero al cambiar de a la vista principal no me funcionan los botones, al parecer no funcionan los eventos de la vista principal.
Este es el código  del controlador Login:
   public void actionPerformed(ActionEvent e) {
        try {
            if (e.getActionCommand().equalsIgnoreCase("Acceder")) {
                if (login.getTxtUsuario().isEmpty() || login.getTxtPassword().isEmpty()) {
                    JOptionPane.showMessageDialog(login, "Faltan campos por llenar");
                } else {
                    if (modelo.loginAuth(Integer.parseInt(login.getTxtUsuario()), login.getTxtPassword())) {
                        vPrincipal = new VPrincipal();
                        CtrlLogin control = new CtrlLogin(vPrincipal, modelo);
                        vPrincipal.setControlador(control);
                        vPrincipal.setVisible(true);
                    }
                }
            }


código del controlador de la vista principal:
public void actionPerformed(ActionEvent e) {
        try {
            if (e.getActionCommand().equalsIgnoreCase("Salir")) { // Nombre del botón
                System.out.println("Presiono el boton salir");
                vPrincipal.dispose();
            }
        } catch (Exception ex) {
            Logger.getLogger(CtrlPrincipal.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

   
espero puedan ayudarme gracias.
Saludos

Tienes un addActionListener en el botón Salir?

Saludos,

Si, tengo estos métodos en la vista Principal



public void setControlador(CtrlLogin c) {
        btnSalir.addActionListener(c);
    }

    public void setControlador(CtrlPrincipal cp) {
        btnSalir.addActionListener(cp);
    }


Hola veo que le seteas una clase del tipo CtrlLogin.

Código: java

CtrlLogin control = new CtrlLogin(vPrincipal, modelo);
vPrincipal.setControlador(control);


Y me pregunto si no debes setearle uno del tipo CtrlPrincipal.
Ya que en el código del botón utilizas en el try catch

Código: java

Logger.getLogger(CtrlPrincipal.class.getName()).log(Level.SEVERE, null, ex);


Quizás te serviría debuggear poniendo un break point en el método del evento.
Para ver si es invocado o no, aunque al parecer nunca llega hasta ahí.

Saludos,