Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java, Web
Expertise: Intermediate
May 20, 1998

Right-Clicks on a Single Button Mouse

Those of us with a two- or three-button mouse are familiar with the idea of a right-click, but how can you detect which button is pressed from your Java code? And to keep your applet or application platform independent, how can you cater for similar functionality with a one-button mouse? Fortunately, the InputEvent modifier flags serve double duty, so that clicking the right button or holding down the Alt key while clicking the left button, have the same effect. By masking the event modifiers in a mouseClicked method, you can permit the user to press Shift, Ctrl, Meta or Alt keys.
 
import java.awt.*;
import java.awt.event.*;
public class YourClass implements MouseListener {
    // Your constructors and methods here
    public void mouseClicked(MouseEvent ev) {
        int mask = InputEvent.BUTTON1_MASK - 1;
        int mods = ev.getModifiers() & mask;
        if (mods == 0) {
            // Left button clicked
        }
        else {
            // Right button clicked
        }
    }
}
Note that this code does not distinguish between the right and center buttons on a three button mouse, but it could be extended to do so.
Tom Yarker
 
Comment and Contribute

 

 

 

 

 


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

 

 

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