/* * @(#)ComponentEvent.java 1.24 06/10/10 * * Copyright 1990-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version * 2 only, as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License version 2 for more details (a copy is * included at /legal/license.txt). * * You should have received a copy of the GNU General Public License * version 2 along with this work; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA * * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa * Clara, CA 95054 or visit www.sun.com if you need additional * information or have any questions. * */ package java.awt.event; import java.awt.AWTEvent; import java.awt.Component; import java.awt.Rectangle; /** * The root event class for all component-level events. * These events are provided for notification purposes ONLY; * The AWT will automatically handle component moves and resizes * internally so that GUI layout works properly regardless of * whether a program is receiving these events or not. * * @see ComponentListener * * @version 1.20 08/19/02 * @author Carl Quinn */ public class ComponentEvent extends AWTEvent { /** * Marks the first integer id for the range of component event ids. */ public static final int COMPONENT_FIRST = 100; /** * Marks the last integer id for the range of component event ids. */ public static final int COMPONENT_LAST = 103; /** * The component moved event type. */ public static final int COMPONENT_MOVED = COMPONENT_FIRST; /** * The component resized event type. */ public static final int COMPONENT_RESIZED = 1 + COMPONENT_FIRST; /** * The component shown event type. */ public static final int COMPONENT_SHOWN = 2 + COMPONENT_FIRST; /** * The component hidden event type. */ public static final int COMPONENT_HIDDEN = 3 + COMPONENT_FIRST; /* * JDK 1.1 serialVersionUID */ private static final long serialVersionUID = 8101406823902992965L; /** * Constructs a ComponentEvent object with the specified source component * and type. * @param source the component where the event originated * @id the event type */ public ComponentEvent(Component source, int id) { super(source, id); } /** * Returns the component where this event originated. */ public Component getComponent() { // return (source instanceof Component) ? (Component)source : null; return (Component) source; // cast should always be OK, type was checked in constructor } public String paramString() { String typeStr; Rectangle b = (source != null ? ((Component) source).getBounds() : null); switch (id) { case COMPONENT_SHOWN: typeStr = "COMPONENT_SHOWN"; break; case COMPONENT_HIDDEN: typeStr = "COMPONENT_HIDDEN"; break; case COMPONENT_MOVED: typeStr = "COMPONENT_MOVED (" + b.x + "," + b.y + " " + b.width + "x" + b.height + ")"; break; case COMPONENT_RESIZED: typeStr = "COMPONENT_RESIZED (" + b.x + "," + b.y + " " + b.width + "x" + b.height + ")"; break; default: typeStr = "unknown type"; } return typeStr; } }