java.awt.dnd

Class DragSourceContext

Implemented Interfaces:
DragSourceListener, DragSourceMotionListener, EventListener, Serializable

public class DragSourceContext
extends Object
implements DragSourceListener, DragSourceMotionListener, Serializable

Since:
1.2
See Also:
Serialized Form

Field Summary

protected static int
CHANGED
protected static int
DEFAULT
protected static int
ENTER
protected static int
OVER

Constructor Summary

DragSourceContext(DragSourceContextPeer peer, DragGestureEvent trigger, Cursor cursor, Image image, Point offset, Transferable trans, DragSourceListener dsl)
Initializes a drag source context.

Method Summary

void
addDragSourceListener(DragSourceListener dsl)
Adds a DragSourceListener.
void
dragDropEnd(DragSourceDropEvent e)
Calls dragDropEnd on the listeners registered with this and with the DragSource.
void
dragEnter(DragSourceDragEvent e)
Calls dragEnter on the listeners registered with this and with the DragSource.
void
dragExit(DragSourceEvent e)
Calls dragExit on the listeners registered with this and with the DragSource.
void
dragMouseMoved(DragSourceDragEvent e)
Calls dragMouseMoved on the listeners registered with the DragSource.
void
dragOver(DragSourceDragEvent e)
Calls dragOver on the listeners registered with this and with the DragSource.
void
dropActionChanged(DragSourceDragEvent e)
Calls dropActionChanged on the listeners registered with this and with the DragSource.
Component
getComponent()
Returns the component associated with this.
Cursor
getCursor()
Returns the current cursor or null if the default drag cursor is used.
DragSource
getDragSource()
Returns the DragSource object associated with the DragGestureEvent.
int
getSourceActions()
Returns the source actions for the DragGestureRecognizer.
Transferable
getTransferable()
Returns the Transferable set with this object.
DragGestureEvent
getTrigger()
Gets the trigger associated with this.
void
removeDragSourceListener(DragSourceListener dsl)
void
setCursor(Cursor cursor)
Sets the cursor for this drag operation to the specified cursor.
void
transferablesFlavorsChanged()
This function tells the peer that the DataFlavors have been modified.
protected void
updateCurrentCursor(int dropOp, int targetAct, int status)
This function sets the drag cursor for the specified operation, actions and status if the default drag cursor is active.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

CHANGED

protected static final int CHANGED
Field Value:
3

DEFAULT

protected static final int DEFAULT
Field Value:
0

ENTER

protected static final int ENTER
Field Value:
1

OVER

protected static final int OVER
Field Value:
2

Constructor Details

DragSourceContext

public DragSourceContext(DragSourceContextPeer peer,
                         DragGestureEvent trigger,
                         Cursor cursor,
                         Image image,
                         Point offset,
                         Transferable trans,
                         DragSourceListener dsl)
Initializes a drag source context.
Throws:
IllegalArgumentException - If Component or DragSource of trigger are null, the drag action for the trigger event is DnDConstants.ACTION_NONE or if the source actions for the DragGestureRecognizer associated with the trigger event are equal to DnDConstants.ACTION_NONE.
NullPointerException - If peer, trans or trigger is null or if the image is not null but the offset is.

Method Details

addDragSourceListener

public void addDragSourceListener(DragSourceListener dsl)
            throws TooManyListenersException
Adds a DragSourceListener.
Throws:
TooManyListenersException - If a DragSourceListener has already been added.

dragDropEnd

public void dragDropEnd(DragSourceDropEvent e)
Calls dragDropEnd on the listeners registered with this and with the DragSource.
Specified by:
dragDropEnd in interface DragSourceListener
Parameters:
e - - the DragSourceDropEvent

dragEnter

public void dragEnter(DragSourceDragEvent e)
Calls dragEnter on the listeners registered with this and with the DragSource.
Specified by:
dragEnter in interface DragSourceListener
Parameters:
e - - the DragSourceDragEvent

dragExit

public void dragExit(DragSourceEvent e)
Calls dragExit on the listeners registered with this and with the DragSource.
Specified by:
dragExit in interface DragSourceListener
Parameters:
e - - the DragSourceEvent

dragMouseMoved

public void dragMouseMoved(DragSourceDragEvent e)
Calls dragMouseMoved on the listeners registered with the DragSource.
Specified by:
dragMouseMoved in interface DragSourceMotionListener
Parameters:
e - - the DragSourceDragEvent

dragOver

public void dragOver(DragSourceDragEvent e)
Calls dragOver on the listeners registered with this and with the DragSource.
Specified by:
dragOver in interface DragSourceListener
Parameters:
e - - the DragSourceDragEvent

dropActionChanged

public void dropActionChanged(DragSourceDragEvent e)
Calls dropActionChanged on the listeners registered with this and with the DragSource.
Specified by:
dropActionChanged in interface DragSourceListener
Parameters:
e - - the DragSourceDragEvent

getComponent

public Component getComponent()
Returns the component associated with this.
Returns:
the component associated with the trigger.

getCursor

public Cursor getCursor()
Returns the current cursor or null if the default drag cursor is used.
Returns:
the current cursor or null.

getDragSource

public DragSource getDragSource()
Returns the DragSource object associated with the DragGestureEvent.
Returns:
the DragSource associated with the trigger.

getSourceActions

public int getSourceActions()
Returns the source actions for the DragGestureRecognizer.
Returns:
the source actions for DragGestureRecognizer.

getTransferable

public Transferable getTransferable()
Returns the Transferable set with this object.
Returns:
the transferable.

getTrigger

public DragGestureEvent getTrigger()
Gets the trigger associated with this.
Returns:
the trigger.

removeDragSourceListener

public void removeDragSourceListener(DragSourceListener dsl)

setCursor

public void setCursor(Cursor cursor)
Sets the cursor for this drag operation to the specified cursor.
Parameters:
cursor - c - the Cursor to use, or null to use the default drag cursor.

transferablesFlavorsChanged

public void transferablesFlavorsChanged()
This function tells the peer that the DataFlavors have been modified.

updateCurrentCursor

protected void updateCurrentCursor(int dropOp,
                                   int targetAct,
                                   int status)
This function sets the drag cursor for the specified operation, actions and status if the default drag cursor is active. Otherwise, the cursor is not updated in any way.
Parameters:
dropOp - - the current operation.
targetAct - - the supported actions.
status - - the status of the cursor (constant).

DragSourceContext.java -- Copyright (C) 2002 Free Software Foundation This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath 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 for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.