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();
	}
}