我觉得奇怪的是,在我的项目中,并不总是听到mouselistener。有没有其他人遇到过这个?或者我做错了什么?我必须在打开之前多次点击它。我在点击之间等待,看看它是否是性能问题。爪哇MouseListener不总是工作
JButton btnPin = new JButton("Pin");
btnPin.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent arg0) {
if(staffPinDialog == null || staffPinDialog.isShowing() == false)
staffPinDialog = new StaffPinDialog(idClicked);
}
});
StaffPinDialog是一个JDialog,其中引用已在别处创建。 idClicked也总是被初始化。
为了更快提供更好的帮助,请发布[SSCCE](http://sscce.org/)。 – 2013-04-06 12:15:48
'mouseClicked(...)'并不总是每次按下鼠标按钮时调用,特别是当鼠标在按下和释放之间移动时不会被调用。 'mousePressed(...)'或'mouseReleased(...)'更好,但是说了这样的话,你根本不应该使用MouseListener,而应该使用ActionListeners(按照JB Nizet的答案)或AbstractActions。 – 2013-04-06 12:51:27