Distinguish between a single click and a double click in Java
<p>I search the forum and see this codes:</p>

<pre><code>            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();
            }

        }
</code></pre>

<p>but the code runs incorrectly(Sometime it prints out "  and it's a single click!" 2 times . It should print out "  and it's a double click!"). Can anybody show me why? or can you give me some better ways to do this?
Thank you!</p>
