Mercurial > hg > jslab
view src/samer/core_/util/swing/PopupHandler.java @ 8:5e3cbbf173aa tip
Reorganise some more
author | samer |
---|---|
date | Fri, 05 Apr 2019 22:41:58 +0100 |
parents | bf79fb79ee13 |
children |
line wrap: on
line source
/* * PopupHandler.java * * Copyright (c) 2000, Samer Abdallah, King's College London. * All rights reserved. * * This software is provided AS iS and WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. */ package samer.core.util.swing; import java.awt.event.*; import javax.swing.*; public class PopupHandler extends MouseAdapter { private JPopupMenu popup; private boolean backstop; public PopupHandler(JPopupMenu p) { this(p,false); } public PopupHandler(JPopupMenu p, boolean bs) { popup=p; backstop=bs; } public void setBackstop(boolean f) { backstop=f; } public void mousePressed( MouseEvent e) { maybeShowMenu(e); } public void mouseReleased( MouseEvent e) { maybeShowMenu(e); } void maybeShowMenu(MouseEvent e) { if (!e.isPopupTrigger()) return; if (!backstop) { // if not backstop, must NOT have Alt or Ctl down // modified for Macs: need modifiers to get right mouse click! if (e.isShiftDown()) return; } popup.show( e.getComponent(), e.getX(), e.getY()); e.consume(); } }