Java Swing подвійне клацання

1, 2 – рази

		b1.addMouseListener(new java.awt.event.MouseAdapter() {
		    public void mouseClicked(java.awt.event.MouseEvent evt) {
		        if (evt.getClickCount() == 2) {		            
		            f.setTitle("Double");
		        }
		        else if (evt.getClickCount() == 1) {
		            f.setTitle("Single");
		        }
		    }
		});

1, 2, 3 – рази

		b1.addMouseListener(new MouseAdapter() {
		    private int eventCnt = 0;
		    java.util.Timer timer = new java.util.Timer("doubleClickTimer", false);

		    @Override
		    public void mouseClicked(final MouseEvent e) {
		        eventCnt = e.getClickCount();
		        if ( e.getClickCount() == 1 ) {
		            timer.schedule(new TimerTask() {
		                @Override
		                public void run() {
		                    if ( eventCnt == 1 ) {
		                        System.err.println( "You did a single click.");
		                    } else if ( eventCnt > 1 ) {
		                        System.err.println("you clicked " + eventCnt + " times.");
		                    }
		                    eventCnt = 0;
		                }
		            }, 400);
		        }
		    }
		});