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);
}
}
}






0 comentarios:
Publicar un comentario