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