Foros del Web » Programación para mayores de 30 ;) » Java »

Ayuda sobre el evento “public void mouseExited(MouseEvent e)”

Estas en el tema de Ayuda sobre el evento “public void mouseExited(MouseEvent e)” en el foro de Java en Foros del Web. Hola todo el mundo bueno la verdad me da un poco de verguenza es que pero un super novato y estoy aprendiendo java, mi problema ...
  #1 (permalink)  
Antiguo 18/05/2005, 16:39
 
Fecha de Ingreso: marzo-2003
Mensajes: 524
Antigüedad: 21 años, 1 mes
Puntos: 2
Ayuda sobre el evento “public void mouseExited(MouseEvent e)”

Hola todo el mundo bueno la verdad me da un poco de verguenza es que pero un super novato y estoy aprendiendo java, mi problema es el siguiente tengo dos Jbutton declarados asi:

javax.swing.JButton jIngresar = new javax.swing.JButton();
javax.swing.JButton Salir = new javax.swing.JButton();


Bueno resulta que yo tengo el evento

public void mouseClicked(MouseEvent e)

resulta que cuendo yo hago un click a cualquier de mis dos Jbutton se actva el evento public void mouseClicked(MouseEvent e) como yo puedo edentificar cual de los dos Jbutton se activo yo tengo el MouseEvent donde me recoge el evento (si estoy diciendo tonteras perdonome) yo tendría que indetificalos con un “if “ pero como se hace por fa una ayudita

Última edición por Escorpion_Negro; 18/05/2005 a las 16:46
  #2 (permalink)  
Antiguo 19/05/2005, 01:31
 
Fecha de Ingreso: septiembre-2004
Mensajes: 191
Antigüedad: 19 años, 7 meses
Puntos: 1
el objeto MouseEvent es el objeto que ha recibido el evento si lo casteas a jbutton:
Código PHP:
javax.swing.JButton boton=(javax.swing.JButton)e;
if (....) 
logo en el if comparas con alguna propiedad como el texto que tiene el boton y sabras que boton has pulsado.

PD: Si el mouseClicked lo has linkado a otra cosa que no sea un boton esto te va a cascar cuando lo clickes en eso, porq el casting te cascara. Ahi antes de hacer el castin deberas usar el instanceof para saber de que tipo es el MouseEvent

saludos
  #3 (permalink)  
Antiguo 19/05/2005, 17:26
Avatar de caerolus  
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 19 años, 8 meses
Puntos: 1
Cita:
Iniciado por sanmi69
el objeto MouseEvent es el objeto que ha recibido el evento si lo casteas a jbutton
Por dios, dónde has leido eso??? El MouseEvent NO es el objeto que ha recibido el evento.
Escorpion, tu pregunta no tiene mucho sentido. Saber qué componente ha recibido/originado el evento es fácil, porque dependiendo de cuál sea se ejecutará un método u otro, no sé cómo lo habrás enlazada a cada uno con cada método.
Lo que tienes que hacer es esto por cada botón, en este caso lo haré con un botón llamado boton1:
Código:
    boton1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        boton1_actionPerformed(e);
      }
    });
Lo que se hace es añadir un ActionListener, que son objetos que se activarán cuando le pase algo a ese componente (a boton1). Cada uno de los métodos que se ponen ahí se ejecutarán según el evento que suceda. En este caso, se ejecutará el actionPerformed, que ejecutará el boton1_actionPerformed (que es el que tienes que implementar tú con lo que sea). El evecto ActionPerformed es el que debes capturar, y no el MouseClicked.
Para cada tipo de evento hay un EventListener distinto. Para los eventos de ratón está el MouseListener. Así, para caputar los eventos de entrada y salida del cursor de ese componente, habría que hacer esto:
Código:
    boton1.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseEntered(MouseEvent e) {
        boton1_mouseEntered(e);
      }
      public void mouseExited(MouseEvent e) {
        boton1_mouseExited(e);
      }
    });
Como ves, dentro del mismo Listener se ponen los métodos mouseEntered y mouseExited, dos eventos de ratón recogidos sobre un mismo listener de tipo MouseListener. Lo que tú tienes que hacer es implementar cada uno de esos botonX_eventoX(e).
Como ves, haciéndolo así (que es como se debe hacer), cada componente recibe su evento al ejecutar un método concreto.
Para ver qué EventListener debes añadir al componente según el evento que quieras capturar, puedes ver el API del paquete java.awt.event en este enlace http://java.sun.com/j2se/1.4.2/docs/api/
Saludos, y suerte
__________________
Mi página personal: Julián Urbano
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:23.