@Override
        public void actionPerformed(ActionEvent e) {
            JButton aceptar = vista.getLogin().getBtnAceptar();
            JButton cancelar = vista.getLogin().getBtnCancelar();
            JMenuItem mostrarAgregarUsuario = vista.getMenAgregarUsuario();
            JButton agregar = vista.getAgregarUsuario().getBtnAgregar();
            if (e.getSource() == aceptar) {
                try {
                    System.out.println("aceptar");
//                System.out.println("Bienvenido " + vista.getLogin().getTxtUsuario().getText());
                    ResultSet usuario = modelo.ejecutarSQLSelect("SELECT 1 FROM login WHERE usuario = '"
                            + vista.getLogin().getTxtUsuario().getText() + "'AND clave = '"
                            + vista.getLogin().getPssLogin().getText() + "'");
                    if (usuario.next()) {
                        System.out.println("Bienvenido " + vista.getLogin().getTxtUsuario().getText());
                    } else {
                        validar.mensajeAlerta("Nombre de usuario ó contraseña invalidos.", "Alerta");
                    }
                } catch (SQLException ex) {
                    Logger.getLogger(Controlador.class.getName()).log(Level.SEVERE, null, ex);
                    validar.mensajeError("Mensaje " + ex, "Error");

                }
            } else if (e.getSource() == cancelar) {
                int seleccion = JOptionPane.showOptionDialog(
                        vista, //Componente padre
                        "Desea salir del programa",
                        "Seleccione una opción", //titulo
                        JOptionPane.YES_NO_CANCEL_OPTION,
                        JOptionPane.QUESTION_MESSAGE,
                        null, //null para icono por defecto
                        new Object[]{"Si", "No"}, //null para yes, No y Cancel
                        "Si");
                if (seleccion != -1) {
                    if ((seleccion + 1) == 1) {
                        //Si
                        System.exit(0);
                    } else {
                        //No
                    }
                }
            } else if (e.getSource() == mostrarAgregarUsuario) {
                vista.getAgregarUsuario().setVisible(true);
            } else if (e.getSource() == agregar) {
                try {
                    String query = "INSERT INTO login (nombre_completo, usuario, clave, tipo_usuario, fecha_ingreso) VALUES (?, ?, ?, ?, ?)";

                    // create the mysql insert preparedstatement
                    PreparedStatement preparedStmt = modelo.getConexion().prepareStatement(query);
                    preparedStmt.setString(1, vista.getAgregarUsuario().getTxtNombreCompleto().getText());
                    preparedStmt.setString(2, vista.getAgregarUsuario().getTxtNuevoUsuario().getText());
                    preparedStmt.setString(3, vista.getAgregarUsuario().getTxtContraseñaUsuario().getText());
                    preparedStmt.setString(4, vista.getAgregarUsuario().getCmbTipoUsuario().getSelectedItem().toString());
                    preparedStmt.setTimestamp(5, new Timestamp(System.currentTimeMillis()));

                    // execute the preparedstatement
                    preparedStmt.execute();

                    modelo.getConexion().close();
                } catch (SQLException ex) {
                    Logger.getLogger(Controlador.class.getName()).log(Level.SEVERE, null, ex);
                }

            }
        }