martes, 23 de enero de 2018

Interface MouseListener(MouseAdapter)


Permite tener un control total de todos los movimientos que realice el mouse dentro de cada uno de las interfaces

algunos componentes claves:

getClickCount() , permite contrar el todal de click que realiza en todo su recorrido o ejecucion en el programa

getModifiersEx(); controla los tres componentes de lo conforman al mouse click, anticlick y el desplazador:

 if (me.getModifiersEx() == 1024){} compara si se ha precionado un click (1024)  es el numero que representa al click  o tambien se puede hacer de otra forma(MouseEvent.BUTTON1_DOWN_MASK) con este forma seria igual :

if (me.getModifiersEx() == MouseEvent.BUTTON2_DOWN_MASK)  compara si se esta desplazando con el scroll

 if (me.getModifiersEx() == MouseEvent.BUTTON3_DOWN_MASK) compara si esta precionando el anticlick en alguna parte de los componentes



MouseListener tiene estos metodos como predeterminados que se tienen que implementar en el caso de que no se utilice la clase adaptadora que es el MouseAdapter();


mousePressed(MouseEvent me) Cuando se ha precionado pero aun no se suelta

mouseReleased(MouseEvent me)Cuando se ha soltado el click que se ha hecho

mouseClicked(MouseEvent me) Este metodo es llamado cuando ya se ha precionado y soltado el mouse del boton, o otro objeto

mouseEntered(MouseEvent me) Cuando el mouse esta dentro de un componente

mouseExited(MouseEvent me)Cuando el mouse ya ha salido del componente en la cual habia entrado

PARA MAS INFORMACION VISITAR LA PAGINA DE LA API DE JAVA 

EJEMPLO

package graficos;

import java.awt.Graphics;
import java.awt.HeadlessException;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.*;

public class Event_Mouse {

    public static void main(String[] args) {
        moueveEvent nuevo = new moueveEvent();
        nuevo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

class moueveEvent extends JFrame {

    JPanel panel;
    JButton boton;

    public moueveEvent() {
        panel = new JPanel();
        boton = new JButton();
        boton.setSize(400, 200);
        panel.add(boton);
        add(panel);
        setVisible(true);
        setBounds(700, 300, 600, 350);

        addMouseListener(new eventosRaton());
    }

}

class eventosRaton extends MouseAdapter {

    private Point punto = new Point();
    private int contadoClick = 0;

    @Override
    public void mouseClicked(MouseEvent me) {
        System.out.println("ha hecho click en la pantalla");
        contadoClick += me.getClickCount();// tambien puede ser para ver si el usuario ha hecho doblke click contar
        System.out.println("van :" + contadoClick + " click");
        System.out.println("ha hecho click en +" + me.getX() + " y y " + me.getY());

    }

    public void mousePressed(MouseEvent me) {
        //  System.out.println("ha precionado en el boton");
        if (me.getModifiersEx() ==MouseEvent.BUTTON1_DOWN_MASK) {
            System.out.println("Ha preciona el click");
        } else if (me.getModifiersEx() == MouseEvent.BUTTON2_DOWN_MASK) {//botonn la rueda del raton
            System.out.println("ha precionado la rueda del raton");
        } else if (me.getModifiersEx() == MouseEvent.BUTTON3_DOWN_MASK) {
            System.out.println("Ha precionado el anticlick");
        }

    }

    @Override
    public void mouseReleased(MouseEvent me) {
        System.out.println("ha soltado la precion del mouse");
    }

    @Override
    public void mouseEntered(MouseEvent me) {
        System.out.println("ha uniciado el incio del boton esta dentro del boton");
    }

    @Override
    public void mouseExited(MouseEvent me) {
        System.out.println("ha salido del boton");
        punto = me.getLocationOnScreen();
    }

}


class controlarLaSeleccionMouse implements MouseMotionListener {

    @Override
    public void mouseDragged(MouseEvent me) {
      System.out.println("Esta arrastrando el mouse");
    }

    @Override
    public void mouseMoved(MouseEvent me) {
        System.out.println("Esta moviendo el mouse");
    }

}


PARA SABER QUE VENTANA SE HA CERRADO


package graficos;

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;

public class primeraClaseEventWindowVentana {

    public static void main(String[] args) {
        main nuevo1 = new main("nuevo1");
        nuevo1.setTitle("fame1");
        main nuevo2 = new main("nuevo2");
        nuevo2.setTitle("fame2");
    }
}

class main extends JFrame {

    public main(String nombre) {
        setTitle(nombre);
        setSize(400, 500);
        setLocation(200, 300);
        setVisible(true);
        /* laminaWindow lamina = new laminaWindow();
        addWindowListener(lamina);*/
        addWindowListener(new laminaWindow(nombre));

    }

    private class laminaWindow extends WindowAdapter {

        String nombre;

        public laminaWindow(String nombre) {
            this.nombre = nombre;
        }

        @Override
        public void windowOpened(WindowEvent we) {
        }

        @Override
        public void windowClosing(WindowEvent we) {
            Object miVentana = we.getSource();

            System.out.println("Esta cerrando la venta");
            System.out.println("Ha cesarro la ventana" +nombre);
        }

        @Override
        public void windowClosed(WindowEvent we) {
            System.out.println("Ha cerrado la ventana");
        }

        @Override
        public void windowIconified(WindowEvent we) {
            Object miVentana = we.getSource();
            System.out.println("Se minimizo la venta");
            System.out.println("Ha minimizado la ventana" +nombre);

        }

    }
}



Share:

0 comentarios:

Publicar un comentario

BTemplates.com

Buscar este blog

Archivo del Blog

Con tecnología de Blogger.