我有一堆JLabel标签,我想捕捉鼠标点击事件。目前我必须使用:
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!");
}
我想知道是否有更简洁的方法来做这件事,而不是需要陷阱一堆我不希望的事件?
编辑:
class MyAdapter extends MouseAdapter {
public void mouseClicked(MouseEvent event) {
System.out.println(event.getComponent());
}
}
上面的代码可以工作,但NetBeans说要添加@override注释。这是什么意思?
编辑:好了,明白了,问题已经解决。
MyMouseListener
的单独类,如下所示:public class MyMouseListener extends MouseAdapter(){ public void mosuePressed(MouseEvent me){ //需要执行的操作 } }
然后将其作为鼠标监听器添加到UI代码中:addMouseListener(new MyMouseListener());
现在,让你新实现的MyMouseListener
能够访问UI元素的一种方法是通过构造函数参数。如果你需要详细的代码,请告诉我。 - ring bearer