001 // License: GPL. For details, see LICENSE file.
002 package org.openstreetmap.josm.gui.widgets;
003
004 import java.awt.event.MouseAdapter;
005 import java.awt.event.MouseEvent;
006
007 import javax.swing.JPopupMenu;
008
009 public class PopupMenuLauncher extends MouseAdapter {
010 private JPopupMenu menu;
011
012 public PopupMenuLauncher() {
013 menu = null;
014 }
015 public PopupMenuLauncher(JPopupMenu menu) {
016 this.menu = menu;
017 }
018
019 @Override
020 public void mousePressed(MouseEvent e) {
021 if (e.isPopupTrigger()) {
022 launch(e);
023 }
024 }
025
026 @Override
027 public void mouseClicked(MouseEvent e) {
028 if (e.isPopupTrigger()) {
029 launch(e);
030 }
031 }
032
033 @Override
034 public void mouseReleased(MouseEvent e) {
035 if (e.isPopupTrigger()) {
036 launch(e);
037 }
038 }
039
040 public void launch(MouseEvent evt) {
041 if (menu != null) {
042 menu.show(evt.getComponent(), evt.getX(),evt.getY());
043 }
044 }
045 }