Различие между одиночным щелчком и двойным щелчком в Java.

Я ищу по форуму и вижу следующие коды:

            public void mouseClicked(MouseEvent e) {
            if (e.getClickCount() == 2) {
                System.out.println("  and it's a double click!");
                wasDoubleClick = true;
            } else {
                Integer timerinterval = (Integer) Toolkit.getDefaultToolkit().getDesktopProperty(
                        "awt.multiClickInterval");
                timer = new Timer(timerinterval.intValue(), new ActionListener() {

                    public void actionPerformed(ActionEvent evt) {
                        if (wasDoubleClick) {
                            wasDoubleClick = false; // reset flag
                        } else {
                            System.out.println("  and it's a simple click!");
                        }
                    }
                });
                timer.setRepeats(false);

                timer.start();
            }

        }

, но код работает некорректно (иногда выводится «и это один щелчок!» 2 раза. Он должен распечатать »и это двойной щелчок! "). Кто-нибудь может показать мне, почему? или вы можете дать мне более эффективные способы сделать это? Спасибо!

11
задан h22 26 January 2013 в 14:19
поделиться