我感到奇怪的是,在我的项目中,并非总是听到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也总是被初始化。

最佳答案

您不应该使用MouseListener来检测按钮的单击。请改用ActionListener。

这还将具有能够使用键盘单击按钮的其他优点。

10-08 07:38