1 /* 2 * Copyright (c) 1996, 2013, 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 java.awt.event; 27 28 import java.util.EventListener; 29 30 /** 31 * The listener interface for receiving "interesting" mouse events 32 * (press, release, click, enter, and exit) on a component. 33 * (To track mouse moves and mouse drags, use the 34 * {@code MouseMotionListener}.) 35 * <P> 36 * The class that is interested in processing a mouse event 37 * either implements this interface (and all the methods it 38 * contains) or extends the abstract {@code MouseAdapter} class 39 * (overriding only the methods of interest). 40 * <P> 41 * The listener object created from that class is then registered with a 42 * component using the component's {@code addMouseListener} 43 * method. A mouse event is generated when the mouse is pressed, released 44 * clicked (pressed and released). A mouse event is also generated when 45 * the mouse cursor enters or leaves a component. When a mouse event 46 * occurs, the relevant method in the listener object is invoked, and 47 * the {@code MouseEvent} is passed to it. 48 * 49 * @author Carl Quinn 50 * 51 * @see MouseAdapter 52 * @see MouseEvent 53 * @see <a href="https://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html">Tutorial: Writing a Mouse Listener</a> 54 * 55 * @since 1.1 56 */ 57 public interface MouseListener extends EventListener { 58 59 /** 60 * Invoked when the mouse button has been clicked (pressed 61 * and released) on a component. 62 * @param e the event to be processed 63 */ mouseClicked(MouseEvent e)64 public void mouseClicked(MouseEvent e); 65 66 /** 67 * Invoked when a mouse button has been pressed on a component. 68 * @param e the event to be processed 69 */ mousePressed(MouseEvent e)70 public void mousePressed(MouseEvent e); 71 72 /** 73 * Invoked when a mouse button has been released on a component. 74 * @param e the event to be processed 75 */ mouseReleased(MouseEvent e)76 public void mouseReleased(MouseEvent e); 77 78 /** 79 * Invoked when the mouse enters a component. 80 * @param e the event to be processed 81 */ mouseEntered(MouseEvent e)82 public void mouseEntered(MouseEvent e); 83 84 /** 85 * Invoked when the mouse exits a component. 86 * @param e the event to be processed 87 */ mouseExited(MouseEvent e)88 public void mouseExited(MouseEvent e); 89 } 90