1 /* 2 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package javax.swing.plaf; 27 28 import java.awt.event.MouseEvent; 29 import javax.swing.Popup; 30 import javax.swing.PopupFactory; 31 import javax.swing.JPopupMenu; 32 33 /** 34 * Pluggable look and feel interface for JPopupMenu. 35 * 36 * @author Georges Saab 37 * @author David Karlton 38 */ 39 40 public abstract class PopupMenuUI extends ComponentUI { 41 /** 42 * Returns whether or not the given {@code MouseEvent} is the popup menu 43 * trigger event for the platform 44 * 45 * @param e a {@code MouseEvent} 46 * @return true if the {@code MouseEvent e} is the popup menu trigger 47 * @since 1.3 48 */ 49 public boolean isPopupTrigger(MouseEvent e) { 50 return e.isPopupTrigger(); 51 } 52 53 /** 54 * Returns the <code>Popup</code> that will be responsible for 55 * displaying the <code>JPopupMenu</code>. 56 * 57 * @param popup JPopupMenu requesting Popup 58 * @param x Screen x location Popup is to be shown at 59 * @param y Screen y location Popup is to be shown at. 60 * @return Popup that will show the JPopupMenu 61 * @since 1.4 62 */ 63 public Popup getPopup(JPopupMenu popup, int x, int y) { 64 PopupFactory popupFactory = PopupFactory.getSharedInstance(); 65 66 return popupFactory.getPopup(popup.getInvoker(), popup, x, y); 67 } 68 }