Мне показалось странным, что в моем проекте мышь не всегда слышна. Кто-нибудь еще сталкивался с этим? Или я делаю что-то неправильно? Я должен иногда щелкнуть его несколько раз, прежде чем он откроется. Я жду между кликами, чтобы узнать, является ли это проблемой производительности.Java 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/). –
'mouseClicked (...)' не всегда вызывается с каждым нажатием кнопки мыши и, в частности, не вызывается, если мышь перемещается между нажатием и отпусканием. 'mousePressed (...)' или 'mouseReleased (...)' лучше, но, сказав это, вы не должны использовать MouseListeners вообще в этом качестве, а скорее должны использовать ActionListeners (согласно ответу JB Nizet) или AbstractActions. –