Browse DevX
Sign up for e-mail newsletters from DevX

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



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

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.



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