
package presentacion;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JMenuItem;;

public class GestorEventos extends WindowAdapter implements ActionListener {
    
      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 ActionListener   
    public void actionPerformed(ActionEvent e) { 
        
          String componenteFuente = e.getActionCommand();
          if (e.getSource() instanceof JMenuItem) 
              componenteFuente = ((JMenuItem) e.getSource()).getActionCommand();
                
          switch(componenteFuente)
          {                   
             case "Opcion 1" :
                     componentes.getOpcion1().iniciarPantalla();
                     componentes.getCardLayout().show(componentes.getjPanelPrincipal(), "opcion1");                       
                     break;  
             case "Opcion 2" :
                     componentes.getOpcion2().iniciarPantalla();
                     componentes.getCardLayout().show(componentes.getjPanelPrincipal(), "opcion2");                  
                     break;                     
             case "Opcion 3" :
                     componentes.getOpcion3().iniciarPantalla();
                     componentes.getCardLayout().show(componentes.getjPanelPrincipal(), "opcion3");                  
                     break;                     
             case "botonOpcion1" :   
                     componentes.setContadorOpcion1(componentes.getContadorOpcion1() + 1);
                     componentes.getjLabelParcialOpcion1().setText("Pulsaciones botón opción 1:     "+componentes.getContadorOpcion1());
                     componentes.setContadorGlobal(componentes.getContadorGlobal() + 1);
                     componentes.getjLabelGlobalOpcion1().setText("Pulsaciones acumuladas de los botones de todas las opciones:     "+componentes.getContadorGlobal());
                     break;    
             case "botonOpcion2" :  
                     componentes.setContadorOpcion2(componentes.getContadorOpcion2() + 1);
                     componentes.getjLabelParcialOpcion2().setText("Pulsaciones botón opción 2:     "+componentes.getContadorOpcion2());
                     componentes.setContadorGlobal(componentes.getContadorGlobal() + 1);
                     componentes.getjLabelGlobalOpcion2().setText("Pulsaciones acumuladas de los botones de todas las opciones:     "+componentes.getContadorGlobal());                     
                     break;
             case "botonOpcion3" :    
                     componentes.setContadorOpcion3(componentes.getContadorOpcion3() + 1);
                     componentes.getjLabelParcialOpcion3().setText("Pulsaciones botón opción 3:     "+componentes.getContadorOpcion3());
                     componentes.setContadorGlobal(componentes.getContadorGlobal() + 1);
                     componentes.getjLabelGlobalOpcion3().setText("Pulsaciones acumuladas de los botones de todas las opciones:     "+componentes.getContadorGlobal());              
                     break;                     
          }
    } 
}
