001: /*
002: * @(#)WindowEvent.java 1.24 06/10/10
003: *
004: * Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: *
026: */
027:
028: package java.awt.event;
029:
030: import java.awt.Window;
031:
032: import sun.awt.AppContext;
033: import sun.awt.SunToolkit;
034:
035: /**
036: * The window-level event.
037: *
038: * @version 1.17 08/19/02
039: * @author Carl Quinn
040: * @author Amy Fowler
041: */
042: public class WindowEvent extends ComponentEvent {
043: /**
044: * Marks the first integer id for the range of window event ids.
045: */
046: public static final int WINDOW_FIRST = 200;
047:
048: /**
049: * The window opened event type. This event is delivered only
050: * the first time a window is made visible.
051: */
052: public static final int WINDOW_OPENED = WINDOW_FIRST; // 200
053: /**
054: * The window closing event type. This event is delivered when
055: * the user selects "Quit" from the window's system menu. If
056: * the program does not explicitly hide or destroy the window as
057: * a result of this event, the window close operation will be
058: * cancelled.
059: */
060: public static final int WINDOW_CLOSING = 1 + WINDOW_FIRST; //Event.WINDOW_DESTROY
061: /**
062: * The window closed event type. This event is delivered after
063: * the window has been closed as the result of a call to hide or
064: * destroy.
065: */
066: public static final int WINDOW_CLOSED = 2 + WINDOW_FIRST;
067: /**
068: * The window iconified event type.
069: */
070: public static final int WINDOW_ICONIFIED = 3 + WINDOW_FIRST; //Event.WINDOW_ICONIFY
071: /**
072: * The window deiconified event type.
073: */
074: public static final int WINDOW_DEICONIFIED = 4 + WINDOW_FIRST; //Event.WINDOW_DEICONIFY
075: /**
076: * The window activated event type.
077: */
078: public static final int WINDOW_ACTIVATED = 5 + WINDOW_FIRST;
079: /**
080: * The window deactivated event type.
081: */
082: public static final int WINDOW_DEACTIVATED = 6 + WINDOW_FIRST;
083:
084: /**
085: * The window gained focus event type.
086: */
087: public static final int WINDOW_GAINED_FOCUS = 7 + WINDOW_FIRST;
088:
089: /**
090: * The window lost focus event type.
091: */
092: public static final int WINDOW_LOST_FOCUS = 8 + WINDOW_FIRST;
093:
094: /**
095: * Marks the last integer id for the range of window event ids.
096: */
097: public static final int WINDOW_LAST = WINDOW_LOST_FOCUS;
098: /*
099: * JDK 1.1 serialVersionUID
100: */
101: private static final long serialVersionUID = -1567959133147912127L;
102:
103: transient Window opposite;
104:
105: //int oldState;
106: //int newState;
107:
108: /**
109: * Constructs a WindowEvent object with the specified source window
110: * and type.
111: * @param source the component where the event originated
112: * @id the event type
113: */
114: public WindowEvent(Window source, int id) {
115: super (source, id);
116: }
117:
118: /*
119: public WindowEvent(Window source, int id, Window opposite,
120: int oldState, int newState) {
121: super(source, id);
122: this.opposite = opposite;
123: this.oldState = oldState;
124: this.newState = newState;
125: }
126: */
127:
128: public WindowEvent(Window source, int id, Window opposite) {
129: super (source, id);
130: this .opposite = opposite;
131: }
132:
133: /*
134: public WindowEvent(Window source, int id, int oldState, int newState) {
135: this(source, id, null, oldState, newState);
136: }
137: */
138:
139: /**
140: * Returns the window where this event originated.
141: */
142: public Window getWindow() {
143: return (source instanceof Window) ? (Window) source : null;
144: }
145:
146: public Window getOppositeWindow() {
147: if (opposite == null) {
148: return null;
149: }
150: return (SunToolkit.targetToAppContext(opposite) == AppContext
151: .getAppContext()) ? opposite : null;
152: }
153:
154: /*
155: public int getOldState() {
156: return oldState;
157: }
158:
159: public int getNewState() {
160: return newState;
161: }
162: */
163:
164: public String paramString() {
165: String typeStr;
166: switch (id) {
167: case WINDOW_OPENED:
168: typeStr = "WINDOW_OPENED";
169: break;
170:
171: case WINDOW_CLOSING:
172: typeStr = "WINDOW_CLOSING";
173: break;
174:
175: case WINDOW_CLOSED:
176: typeStr = "WINDOW_CLOSED";
177: break;
178:
179: case WINDOW_ICONIFIED:
180: typeStr = "WINDOW_ICONIFIED";
181: break;
182:
183: case WINDOW_DEICONIFIED:
184: typeStr = "WINDOW_DEICONIFIED";
185: break;
186:
187: case WINDOW_ACTIVATED:
188: typeStr = "WINDOW_ACTIVATED";
189: break;
190:
191: case WINDOW_DEACTIVATED:
192: typeStr = "WINDOW_DEACTIVATED";
193: break;
194: case WINDOW_GAINED_FOCUS:
195: typeStr = "WINDOW_GAINED_FOCUS";
196: break;
197: case WINDOW_LOST_FOCUS:
198: typeStr = "WINDOW_LOST_FOCUS";
199: break;
200: default:
201: typeStr = "unknown type";
202: }
203: return typeStr + ",opposite=" + getOppositeWindow();// +
204: // ",oldState=" + oldState + ",newState=" + newState;
205: }
206: }
|