
package interfazgrafica5;

import java.awt.EventQueue;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class InterfazGrafica5 extends JFrame{
  
    public InterfazGrafica5() {
        setSize(700,500);
        setTitle("Contador de pulsaciones de botón y ratón - Visualización posición del ratón");
        ubicarComponentes();
        setVisible(true);
    }

    
    
    private void ubicarComponentes() {
     
        setLayout(null);
        
        Componentes componentes = new Componentes();
        componentes.setContadorPulsacionesBoton(0);
        componentes.setContadorPulsacionesRaton(0);
        GestorEventos gestorEventos = new GestorEventos(componentes);
        
        addWindowListener(gestorEventos);        // REGISTRO DE ESCUCHA DE EVENTOS DE VENTANA
        addMouseListener(gestorEventos);         // REGISTRO DE ESCUCHA DE EVENTO CLICK DE RATON
        addMouseMotionListener(gestorEventos);   // REGISTRO DE ESCUCHA DE EVENTO MOVIMIENTO DE RATON
                   // CONFIGURACIÓN JLabel jLabelVisualizaContador
        componentes.setjLabelVisualizaPulsacionesBoton(new JLabel("Numero de pulsaciones botón: "+componentes.getContadorPulsacionesBoton()));
        componentes.getjLabelVisualizaPulsacionesBoton().setBounds(100,50,350,20);
        add(componentes.getjLabelVisualizaPulsacionesBoton());
                   // CONFIGURACIÓN JLabel jLabelVisualizaPulsacionesRaton
        componentes.setjLabelVisualizaPulsacionesRaton(new JLabel("Numero de pulsaciones ratón: "+componentes.getContadorPulsacionesRaton()));
        componentes.getjLabelVisualizaPulsacionesRaton().setBounds(100,150,350,20);
        add(componentes.getjLabelVisualizaPulsacionesRaton());        
                   // CONFIGURACIÓN JLabel jLabelVisualizaPosicionRaton
        componentes.setjLabelVisualizaPosicionRaton(new JLabel("Posicion raton: "));
        componentes.getjLabelVisualizaPosicionRaton().setBounds(100,250,400,20);
        add(componentes.getjLabelVisualizaPosicionRaton());        
                   // CONFIGURACIÓN JButton jButtonContar
        componentes.setjButtonContar(new JButton("Contar"));
        componentes.getjButtonContar().setBounds(100,350,100,40);   
        componentes.getjButtonContar().addActionListener(gestorEventos);    // REGISTRO DE ESCUCHA DE EVENTO DE BOTON
        add(componentes.getjButtonContar());
    }
    
    
    
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
              @Override
              public void run() {
                 new InterfazGrafica5();
              }
           });          
    }   
}
