| /* |
| * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved. |
| * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| * |
| * This code 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. Oracle designates this |
| * particular file as subject to the "Classpath" exception as provided |
| * by Oracle in the LICENSE file that accompanied this code. |
| * |
| * This code 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 in the LICENSE file that |
| * accompanied this code). |
| * |
| * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| * or visit www.oracle.com if you need additional information or have any |
| * questions. |
| */ |
| |
| package java.awt.event; |
| |
| import java.awt.Component; |
| import java.awt.Rectangle; |
| |
| /** |
| * The component-level paint event. |
| * This event is a special type which is used to ensure that |
| * paint/update method calls are serialized along with the other |
| * events delivered from the event queue. This event is not |
| * designed to be used with the Event Listener model; programs |
| * should continue to override paint/update methods in order |
| * render themselves properly. |
| * <p> |
| * An unspecified behavior will be caused if the {@code id} parameter |
| * of any particular {@code PaintEvent} instance is not |
| * in the range from {@code PAINT_FIRST} to {@code PAINT_LAST}. |
| * |
| * @author Amy Fowler |
| * @since 1.1 |
| */ |
| public class PaintEvent extends ComponentEvent { |
| |
| /** |
| * Marks the first integer id for the range of paint event ids. |
| */ |
| public static final int PAINT_FIRST = 800; |
| |
| /** |
| * Marks the last integer id for the range of paint event ids. |
| */ |
| public static final int PAINT_LAST = 801; |
| |
| /** |
| * The paint event type. |
| */ |
| public static final int PAINT = PAINT_FIRST; |
| |
| /** |
| * The update event type. |
| */ |
| public static final int UPDATE = PAINT_FIRST + 1; //801 |
| |
| /** |
| * This is the rectangle that represents the area on the source |
| * component that requires a repaint. |
| * This rectangle should be non null. |
| * |
| * @serial |
| * @see java.awt.Rectangle |
| * @see #setUpdateRect(Rectangle) |
| * @see #getUpdateRect() |
| */ |
| Rectangle updateRect; |
| |
| /* |
| * JDK 1.1 serialVersionUID |
| */ |
| private static final long serialVersionUID = 1267492026433337593L; |
| |
| /** |
| * Constructs a <code>PaintEvent</code> object with the specified |
| * source component and type. |
| * <p> This method throws an |
| * <code>IllegalArgumentException</code> if <code>source</code> |
| * is <code>null</code>. |
| * |
| * @param source The object where the event originated |
| * @param id The integer that identifies the event type. |
| * For information on allowable values, see |
| * the class description for {@link PaintEvent} |
| * @param updateRect The rectangle area which needs to be repainted |
| * @throws IllegalArgumentException if <code>source</code> is null |
| * @see #getSource() |
| * @see #getID() |
| * @see #getUpdateRect() |
| */ |
| public PaintEvent(Component source, int id, Rectangle updateRect) { |
| super(source, id); |
| this.updateRect = updateRect; |
| } |
| |
| /** |
| * Returns the rectangle representing the area which needs to be |
| * repainted in response to this event. |
| */ |
| public Rectangle getUpdateRect() { |
| return updateRect; |
| } |
| |
| /** |
| * Sets the rectangle representing the area which needs to be |
| * repainted in response to this event. |
| * @param updateRect the rectangle area which needs to be repainted |
| */ |
| public void setUpdateRect(Rectangle updateRect) { |
| this.updateRect = updateRect; |
| } |
| |
| public String paramString() { |
| String typeStr; |
| switch(id) { |
| case PAINT: |
| typeStr = "PAINT"; |
| break; |
| case UPDATE: |
| typeStr = "UPDATE"; |
| break; |
| default: |
| typeStr = "unknown type"; |
| } |
| return typeStr + ",updateRect="+(updateRect != null ? updateRect.toString() : "null"); |
| } |
| } |