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

Eventos en java, duda de novato

Estas en el tema de Eventos en java, duda de novato en el foro de Java en Foros del Web. Hola a todos Bueno, ando aprendiendo un poco de Java. Estoy usando eclipse y el plugin "visual editor" para crear "las ventanitas". Más que nada, ...
  #1 (permalink)  
Antiguo 09/03/2011, 08:29
Avatar de jc_moj  
Fecha de Ingreso: septiembre-2009
Ubicación: Andalucía
Mensajes: 137
Antigüedad: 14 años, 7 meses
Puntos: 12
Eventos en java, duda de novato

Hola a todos

Bueno, ando aprendiendo un poco de Java. Estoy usando eclipse y el plugin "visual editor" para crear "las ventanitas".

Más que nada, lo que pregunto es una curiosidad.

Me llamó la atención la forma en la que este editor me crea los eventos, si inserto un botón y le creo un evento para la pulsación del ratón, éste es el código que me crea:

Código Java:
Ver original
  1. /**
  2.      * This method initializes jButton 
  3.      *  
  4.      * @return javax.swing.JButton 
  5.      */
  6.     private JButton getJButton() {
  7.         if (jBotonSalir == null) {
  8.             jBotonSalir = new JButton("Salir");
  9.             jBotonSalir.addMouseListener(new java.awt.event.MouseAdapter() {
  10.                 public void mouseClicked(java.awt.event.MouseEvent e) {
  11.                     System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
  12.                 }
  13.             });
  14.         }
  15.         return jBotonSalir;
  16.     }

Mi curiosidad es la forma en la que crea el procedimiento mouseClicked (línea 10), todo ese procedimiento está dentro de la llamada a addMouseListener, es decir, ¿Es un parámetro de addMouseListener todo el procedimiento mouseclicked?

Saludos
  #2 (permalink)  
Antiguo 09/03/2011, 12:01
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Eventos en java, duda de novato

addMouseListener() admite un MouseListener, o una clase que herede de esa interfaz.

En java se pueden crear clases que heredan de otra sobre la marcha, sin necesidad de declararlas ni nada, es válido por ejemplo, crear una clase que herede de MouseListener así

Código java:
Ver original
  1.     // metodos que implementamos de Mouse Listener
  2. };

Pues eso es lo que se está haciendo todo junto en la línea que pones. Se pasa de parámetro una clase que hereda de MouseAdapter, definiendo sobre la marcha el método mouseClicked() y ese new de esa clase se pasa como parámetro a addMouseListener()

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: eventos
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 10:26.