Mega Code Archive

 
Categories / Java Tutorial / Swing Event
 

Mouse event popup menu triggered

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; public class Test extends JFrame {   JPopupMenu menu = new JPopupMenu("Popup");   class MyLabel extends JLabel {     public MyLabel(String text) {       super(text);       addMouseListener(new PopupTriggerListener());     }     class PopupTriggerListener extends MouseAdapter {       public void mousePressed(MouseEvent ev) {         if (ev.isPopupTrigger()) {           menu.show(ev.getComponent(), ev.getX(), ev.getY());         }       }       public void mouseReleased(MouseEvent ev) {         if (ev.isPopupTrigger()) {           menu.show(ev.getComponent(), ev.getX(), ev.getY());         }       }       public void mouseClicked(MouseEvent ev) {       }     }   }   JLabel label = new MyLabel("right-click");   public Test() {     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     JMenuItem item = new JMenuItem("Test1");     item.addActionListener(new ActionListener() {       public void actionPerformed(ActionEvent e) {         System.out.println("Menu item Test1");       }     });     menu.add(item);     item = new JMenuItem("Test2");     item.addActionListener(new ActionListener() {       public void actionPerformed(ActionEvent e) {         System.out.println("Menu item Test2");       }     });     menu.add(item);     getContentPane().add(label);     pack();     setSize(300, 100);   }   public static void main(String[] args) {     new Test().setVisible(true);   } }