
package interfazgrafica11;

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.text.SimpleDateFormat;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class GestorEventos extends WindowAdapter implements 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)
    {   
        switch(e.getSource().getClass().getName())
        {
            case "javax.swing.SpinnerNumberModel": 
                   componentes.getjLabelNumeros().setText("Dato seleccionado en el JSpinner : " + ((Integer)componentes.getjSpinnerNumeros().getValue()).toString());  // Es innecesario el cast a Integer pero permite dejar constancia de que este JSpinner devuelve un objeto de esta clase
                   break;
            case "javax.swing.SpinnerListModel": 
                   componentes.getjLabelGeneros().setText("Dato seleccionado en el JSpinner : " + (String)componentes.getjSpinnerGeneros().getValue());
                   break;     
            case "javax.swing.SpinnerDateModel":   
                   componentes.getjLabelFechas().setText("Dato seleccionado en el JSpinner : " + new SimpleDateFormat("dd-MM-yyyy").format((java.util.Date)componentes.getjSpinnerFechas().getValue()));
                   break;                       
        }       
    }   
}
