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
26package java.awt.event;
27
28/**
29 * An abstract adapter class for receiving window events.
30 * The methods in this class are empty. This class exists as
31 * convenience for creating listener objects.
32 * <P>
33 * Extend this class to create a {@code WindowEvent} listener
34 * and override the methods for the events of interest. (If you implement the
35 * {@code WindowListener} interface, you have to define all of
36 * the methods in it. This abstract class defines null methods for them
37 * all, so you can only have to define methods for events you care about.)
38 * <P>
39 * Create a listener object using the extended class and then register it with
40 * a Window using the window's {@code addWindowListener}
41 * method. When the window's status changes by virtue of being opened,
42 * closed, activated or deactivated, iconified or deiconified,
43 * the relevant method in the listener
44 * object is invoked, and the {@code WindowEvent} is passed to it.
45 *
46 * @see WindowEvent
47 * @see WindowListener
48 * @see <a href="http://docs.oracle.com/javase/tutorial/uiswing/events/windowlistener.html">Tutorial: Writing a Window Listener</a>
49 *
50 * @author Carl Quinn
51 * @author Amy Fowler
52 * @author David Mendenhall
53 * @since 1.1
54 */
55public abstract class WindowAdapter
56    implements WindowListener, WindowStateListener, WindowFocusListener
57{
58    /**
59     * Invoked when a window has been opened.
60     */
61    public void windowOpened(WindowEvent e) {}
62
63    /**
64     * Invoked when a window is in the process of being closed.
65     * The close operation can be overridden at this point.
66     */
67    public void windowClosing(WindowEvent e) {}
68
69    /**
70     * Invoked when a window has been closed.
71     */
72    public void windowClosed(WindowEvent e) {}
73
74    /**
75     * Invoked when a window is iconified.
76     */
77    public void windowIconified(WindowEvent e) {}
78
79    /**
80     * Invoked when a window is de-iconified.
81     */
82    public void windowDeiconified(WindowEvent e) {}
83
84    /**
85     * Invoked when a window is activated.
86     */
87    public void windowActivated(WindowEvent e) {}
88
89    /**
90     * Invoked when a window is de-activated.
91     */
92    public void windowDeactivated(WindowEvent e) {}
93
94    /**
95     * Invoked when a window state is changed.
96     * @since 1.4
97     */
98    public void windowStateChanged(WindowEvent e) {}
99
100    /**
101     * Invoked when the Window is set to be the focused Window, which means
102     * that the Window, or one of its subcomponents, will receive keyboard
103     * events.
104     *
105     * @since 1.4
106     */
107    public void windowGainedFocus(WindowEvent e) {}
108
109    /**
110     * Invoked when the Window is no longer the focused Window, which means
111     * that keyboard events will no longer be delivered to the Window or any of
112     * its subcomponents.
113     *
114     * @since 1.4
115     */
116    public void windowLostFocus(WindowEvent e) {}
117}
118