
package interfazgrafica6;

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

public class InterfazGrafica6 extends JFrame {

    public InterfazGrafica6() {
       setSize(700,590);
        setTitle("Dibujo líneas - Click ratón en inicio, soltar en final");
        ubicarComponentes();
        setVisible(true);
    }

    
    
    private void ubicarComponentes() {

        setLayout(null);
        
        Componentes componentes = new Componentes();
        GestorEventos gestorEventos = new GestorEventos(componentes);
        
        addWindowListener(gestorEventos);        // REGISTRO DE ESCUCHA DE EVENTOS DE VENTANA
                      
        componentes.setAreaDibujo(new AreaDibujo());
        componentes.getAreaDibujo().setBounds(15,50,650,395);
        componentes.getAreaDibujo().setBackground(Color.green);
        componentes.getAreaDibujo().addMouseListener(gestorEventos);         // REGISTRO DE ESCUCHA DE EVENTOS DE RATON
        componentes.getAreaDibujo().addMouseMotionListener(gestorEventos);   // REGISTRO DE ESCUCHA DE EVENTO MOVIMIENTO DE RATON         
        this.getContentPane().add(componentes.getAreaDibujo());
                
                   // CONFIGURACIÓN JLabel jLabelVisualizaPosicionRaton
        componentes.setjLabelVisualizaPosicionRaton(new JLabel("Posicion raton: "));
        componentes.getjLabelVisualizaPosicionRaton().setBounds(50,10,400,20);
        add(componentes.getjLabelVisualizaPosicionRaton());         
                   // CONFIGURACIÓN JLabel jLabelVisualizaContador
        componentes.setjLabelVisualizaPulsacionesBoton(new JLabel("Numero de pulsaciones botón: "+componentes.getContadorPulsacionesBoton()));
        componentes.getjLabelVisualizaPulsacionesBoton().setBounds(220,480,450,20);
        add(componentes.getjLabelVisualizaPulsacionesBoton());
                   // CONFIGURACIÓN JButtonPersonalizado jButtonPersonalizadoContar
        componentes.setjButtonPersonalizadoContar(new JButtonPersonalizado("Botón personalizado"));
        componentes.getjButtonPersonalizadoContar().setBounds(30,470,150,50);   
        componentes.getjButtonPersonalizadoContar().setActionCommand("botonPersonalizado");
        componentes.getjButtonPersonalizadoContar().addActionListener(gestorEventos);    // REGISTRO DE ESCUCHA DE EVENTO DE BOTON
        add(componentes.getjButtonPersonalizadoContar());        
    }
    
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
              @Override
              public void run() {
                 new InterfazGrafica6();
              }
           });          
    }   
}
