001 /*
002 * Copyright 1997-2003 Sun Microsystems, Inc. All Rights Reserved.
003 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004 *
005 * This code is free software; you can redistribute it and/or modify it
006 * under the terms of the GNU General Public License version 2 only, as
007 * published by the Free Software Foundation. Sun designates this
008 * particular file as subject to the "Classpath" exception as provided
009 * by Sun in the LICENSE file that accompanied this code.
010 *
011 * This code is distributed in the hope that it will be useful, but WITHOUT
012 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014 * version 2 for more details (a copy is included in the LICENSE file that
015 * accompanied this code).
016 *
017 * You should have received a copy of the GNU General Public License version
018 * 2 along with this work; if not, write to the Free Software Foundation,
019 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020 *
021 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022 * CA 95054 USA or visit www.sun.com if you need additional information or
023 * have any questions.
024 */
025
026 package java.awt.dnd;
027
028 /**
029 * The <code>DragSourceDropEvent</code> is delivered
030 * from the <code>DragSourceContextPeer</code>,
031 * via the <code>DragSourceContext</code>, to the <code>dragDropEnd</code>
032 * method of <code>DragSourceListener</code>s registered with that
033 * <code>DragSourceContext</code> and with its associated
034 * <code>DragSource</code>.
035 * It contains sufficient information for the
036 * originator of the operation
037 * to provide appropriate feedback to the end user
038 * when the operation completes.
039 * <P>
040 * @version 1.26, 05/05/07
041 * <P>
042 * @since 1.2
043 */
044
045 public class DragSourceDropEvent extends DragSourceEvent {
046
047 private static final long serialVersionUID = -5571321229470821891L;
048
049 /**
050 * Construct a <code>DragSourceDropEvent</code> for a drop,
051 * given the
052 * <code>DragSourceContext</code>, the drop action,
053 * and a <code>boolean</code> indicating if the drop was successful.
054 * The coordinates for this <code>DragSourceDropEvent</code>
055 * are not specified, so <code>getLocation</code> will return
056 * <code>null</code> for this event.
057 * <p>
058 * The argument <code>action</code> should be one of <code>DnDConstants</code>
059 * that represents a single action.
060 * This constructor does not throw any exception for invalid <code>action</code>.
061 *
062 * @param dsc the <code>DragSourceContext</code>
063 * associated with this <code>DragSourceDropEvent</code>
064 * @param action the drop action
065 * @param success a boolean indicating if the drop was successful
066 *
067 * @throws <code>IllegalArgumentException</code> if <code>dsc</code> is <code>null</code>.
068 *
069 * @see DragSourceEvent#getLocation
070 */
071
072 public DragSourceDropEvent(DragSourceContext dsc, int action,
073 boolean success) {
074 super (dsc);
075
076 dropSuccess = success;
077 dropAction = action;
078 }
079
080 /**
081 * Construct a <code>DragSourceDropEvent</code> for a drop, given the
082 * <code>DragSourceContext</code>, the drop action, a <code>boolean</code>
083 * indicating if the drop was successful, and coordinates.
084 * <p>
085 * The argument <code>action</code> should be one of <code>DnDConstants</code>
086 * that represents a single action.
087 * This constructor does not throw any exception for invalid <code>action</code>.
088 *
089 * @param dsc the <code>DragSourceContext</code>
090 * associated with this <code>DragSourceDropEvent</code>
091 * @param action the drop action
092 * @param success a boolean indicating if the drop was successful
093 * @param x the horizontal coordinate for the cursor location
094 * @param y the vertical coordinate for the cursor location
095 *
096 * @throws <code>IllegalArgumentException</code> if <code>dsc</code> is <code>null</code>.
097 *
098 * @since 1.4
099 */
100 public DragSourceDropEvent(DragSourceContext dsc, int action,
101 boolean success, int x, int y) {
102 super (dsc, x, y);
103
104 dropSuccess = success;
105 dropAction = action;
106 }
107
108 /**
109 * Construct a <code>DragSourceDropEvent</code>
110 * for a drag that does not result in a drop.
111 * The coordinates for this <code>DragSourceDropEvent</code>
112 * are not specified, so <code>getLocation</code> will return
113 * <code>null</code> for this event.
114 *
115 * @param dsc the <code>DragSourceContext</code>
116 *
117 * @throws <code>IllegalArgumentException</code> if <code>dsc</code> is <code>null</code>.
118 *
119 * @see DragSourceEvent#getLocation
120 */
121
122 public DragSourceDropEvent(DragSourceContext dsc) {
123 super (dsc);
124
125 dropSuccess = false;
126 }
127
128 /**
129 * This method returns a <code>boolean</code> indicating
130 * if the drop was successful.
131 *
132 * @return <code>true</code> if the drop target accepted the drop and
133 * successfully performed a drop action;
134 * <code>false</code> if the drop target rejected the drop or
135 * if the drop target accepted the drop, but failed to perform
136 * a drop action.
137 */
138
139 public boolean getDropSuccess() {
140 return dropSuccess;
141 }
142
143 /**
144 * This method returns an <code>int</code> representing
145 * the action performed by the target on the subject of the drop.
146 *
147 * @return the action performed by the target on the subject of the drop
148 * if the drop target accepted the drop and the target drop action
149 * is supported by the drag source; otherwise,
150 * <code>DnDConstants.ACTION_NONE</code>.
151 */
152
153 public int getDropAction() {
154 return dropAction;
155 }
156
157 /*
158 * fields
159 */
160
161 /**
162 * <code>true</code> if the drop was successful.
163 *
164 * @serial
165 */
166 private boolean dropSuccess;
167
168 /**
169 * The drop action.
170 *
171 * @serial
172 */
173 private int dropAction = DnDConstants.ACTION_NONE;
174 }
|