Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Java
Expertise: All
Sep 8, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Be User-Friendly With Double-Clicks

The idea behind the Java's handling of double-clicks on the mouse is that if the mouse is clicked fast enough for two times in the same spot, a "java.awt.event.MouseEvent" event object will be fired to interested parties who have implemented "java.awt.event.MouseListener", and the getClickCount() method of this event object, if invoked, will return 2.

Unfortunately, the AWT implementation relies on some fast enough successive clicks in the same spot. So, if a user of your Java GUI cannot be fast enough for some reason, or has trembling hands, or the double-clicks vary in location by a few pixels, the two clicks will probably not be detected.

To avoid this, you can have your code define its own definition for a double-click, and also give the user the capability to make modification to your definition. The idea is to keep track of time of mouse events, as well as their locations.

First, have the code of your GUI override "public boolean mouseUp(java.awt.Event evt, int x, int y)" of the "java.awt.Component" class. Then, based on the time stamp of two mouse-ups (miliseconds) obtained from "java.awt.Event.when" long data member, and mouse positions (X and y pixels) between mouse clicks, your code can determine if a double-click has occured or not.

Behrouz Fallahi
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date