Tengo un montón de JLabels y me gustaría atrapar los eventos de clic del mouse. en el momento que estoy teniendo de usar:Java MouseListener
public void mouseClicked(MouseEvent arg0) {
}
public void mouseExited(MouseEvent arg0) {
}
public void mouseEntered(MouseEvent arg0) {
}
public void mousePressed(MouseEvent arg0) {
}
public void mouseReleased(MouseEvent arg0) {
System.out.println("Welcome to Java Programming!");
}
Me preguntaba si hay una manera más ordenada de hacer esto en vez de tener un montón de eventos que no quiero trampa?
EDIT:
class MyAdapter extends MouseAdapter {
public void mouseClicked(MouseEvent event) {
System.out.println(event.getComponent());
}
}
lo anterior funciona, pero netBeans dice añadir anotation @ Override. ¿Qué significa esto?
EDITAR: ok lo consiguió. arreglado y resuelto
gracias. siento tener que preguntar esto, pero estoy comenzando con java. Me preguntaba cómo implementar MouseAdapter por separado para que el código no esté en línea. No puedo extenderme ya que estoy extendiendo JFrame. – iTEgg
Se puede crear una clase separada decir, 'MyMouseListener'as: ' myMouseListener clase pública se extiende MouseAdapter() {public void mosuePressed (MouseEvent mí) {// lo que desea que suceda }} ' y luego agregue eso como escucha de mouse en su código de UI como: addMouseListener (new MyMouseListener()); Ahora, una forma de hacer que sus elementos de UI estén disponibles para su recién implementado 'MyMouseListener' es mediante parámetros de constructor. Si quieres detalles/código, házmelo saber. –
eso es genial. He hecho exactamente lo que dijiste y ahora tengo esta funcionalidad. gracias. – iTEgg