Hi Everyone,

I have a project that requires to use mouse right click. Upon right click, it should display a list of categories(drop down). How Do I do I use right click?

Many thanks,

Petra

  • add MouseListener to container (JPanel???)

  • override public void mouseClicked(MouseEvent e) { then there are two ways

    panel.addMouseListener(new MouseAdapter() {
    
        @Override
        public void mouseClicked(MouseEvent e) {
            if (e.getModifiers() == MouseEvent.BUTTON3_MASK && e.getClickCount() == 1) {
                // whatever
            }
        }
    });
    

    or

        panel.addMouseListener(new MouseAdapter() {
    
            @Override
            public void mouseClicked(MouseEvent e) {
                 if (SwingUtilities.isRightMouseButton(e) && e.getClickCount() == 1) {
                    // whatever
                }
            }
        });
    

i think you have to use mouseadapter class and then you have to use mouseclicked event to handle right click of mouse.

Here's a small example. You can use the getButton() function from MouseEvent.

final JLabel lblRightClickMe = new JLabel("Right click me");        //create a label
lblRightClickMe.setBounds(152, 119, 94, 14);
final JPopupMenu jpm = new JPopupMenu("Hello");                     //create a JPopupMenu
jpm.add("Right");jpm.add("Clicked");jpm.add("On");                  //add some elements
jpm.add("This");jpm.add("Label");
lblRightClickMe.setComponentPopupMenu(jpm);                         //set jpm as this label's popup menu

lblRightClickMe.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent arg0) { 
        if (arg0.getButton() == MouseEvent.BUTTON3){                //get the mouse button
            jpm.show(arg0.getComponent(), arg0.getX(), arg0.getY());//set the position and show the popup menu
        }
    }
});

Many thanks to all, I shall do your suggestions.

My popup menu works now. My standard menu as well. But when I switch from standard JMenu to JPopupMenu, it doesnt display my pop up menu. How? Many thanks.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.