Java MouseListener并不总是有效

时间:2013-04-06 12:13:45

标签: java swing awt jdialog 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也始终被初始化。

1 个答案:

答案 0 :(得分:5)

您不应该使用MouseListener来检测按钮点击次数。请改用ActionListener。

这还有一个额外的好处,就是可以使用键盘点击按钮。