
package interfazgrafica10;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class GestorEventos extends WindowAdapter implements ActionListener, ChangeListener {
    
      private Componentes componentes;
    
    public GestorEventos(Componentes componentes) {
        this.componentes = componentes;
    }

         // MÉTODOS DE WindowAdapter     
   public void windowClosing(WindowEvent e) {
      System.exit(0);
   }     
   
         // MÉTODO DE ChangeListener   
   public void stateChanged(ChangeEvent e) {
      componentes.getjLabel().setText(Integer.toString(componentes.getjSlider().getValue()));
      componentes.getjProgresBar().setValue(componentes.getjSlider().getValue());
   }

         // MÉTODO DE ActionListener      
    public void actionPerformed(ActionEvent e) {         
        //  No es necesario detectar el componente que disparó el evento ActionListener
        //  dado que en toda la aplicación solamente se ha registrado con esta escucha 
        //  de eventos el JButton jButtonVisualizarVentanaModal.
        JDialog jDialog = new JDialog(componentes.getjFrame(), "Ventana modal", true);
        jDialog.setSize(600, 400);
        JLabel jLabelMensaje = new JLabel("Para poder interactuar con los componentes de la ventana principal debe cerrar la ventana modal");
        jDialog.add(jLabelMensaje);
        jDialog.setVisible(true);
    }       
}
