/** * Constructor de la clase. * * @param oControlConfiguracionCliente Objeto ControlConfiguracionCliente. Mediante este parametro * la Vista (este JPanel) tiene una referencia al Modelo (el objeto * ControlConfiguracionCliente) y le permite pedir información al Modelo para actualizarse * convenientemente. * @throws gestorDeConfiguracion.ControlConfiguracionClienteException * @see gestorDeConfiguracion.ControlConfiguracionClienteException */ public GUIDialogoConfiguracion( java.awt.Frame parent, String title, boolean modal, ControlConfiguracionCliente oControlConfiguracionCliente) throws ControlConfiguracionClienteException { super(parent, title, modal); initComponents(); // Registramos la vista como observadora del modelo ControlConfiguracionCliente.obtenerInstancia().anadirObservador(this); // Guardo en la Vista una referencia al Modelo. _objetoModelo = oControlConfiguracionCliente; // Creo el Controlador y le paso una referencia al Modelo y a la Vista // Y guardo en la Vista una referencia al Controlador. _objetoControlador = new ControladorPanelConfiguracion(_objetoModelo, this); // Ocultar el cuadro de dialogo al pulsar el aspa de cerrar la ventana. addWindowListener( new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent e) { setVisible(false); } }); // Pongo al objeto controlador a "escuchar" a los botones. _btnAceptar.addActionListener(_objetoControlador); _btnCancelar.addActionListener(_objetoControlador); _btnRestaurar.addActionListener(_objetoControlador); _btnDirCompartidos.addActionListener(_objetoControlador); _btnDirLlegada.addActionListener(_objetoControlador); inicializarCampos(_objetoModelo.obtenerConfiguracion()); }
/** * Este metodo (implementacion de la interfaz ObservadorControlConfiguracionCliente) permite * reflejar en la Vista (este panel) los cambios que se han producido en el Modelo (objeto * ControlConfiguracionCliente). En el parametro propiedades están las propiedades que han * cambiado de valor (no tienen porqué haber cambiado todas). EN ESTE CASO NO HACE FALTA tratar de * manera diferenciada cada posible cambio: se muestra en el panel el contenido del objeto entero. * * @param obj Objeto ControlConfiguracionCliente que almacena la configuracion * @param propiedades Conjunto de propiedades que han cambiado en el objeto anterior. */ @Override public void cambioEnPropiedades(ControlConfiguracionCliente obj, Properties propiedades) { inicializarCampos(_objetoModelo.obtenerConfiguracion()); }