Home » openjdk-7 » java » awt » dnd » [javadoc | source]
java.awt.dnd
public class: DragSource [javadoc | source]
java.lang.Object
   java.awt.dnd.DragSource

All Implemented Interfaces:
    Serializable

The DragSource is the entity responsible for the initiation of the Drag and Drop operation, and may be used in a number of scenarios: Once the DragSource is obtained, a DragGestureRecognizer should also be obtained to associate the DragSource with a particular Component.

The initial interpretation of the user's gesture, and the subsequent starting of the drag operation are the responsibility of the implementing Component, which is usually implemented by a DragGestureRecognizer.

When a drag gesture occurs, the DragSource's startDrag() method shall be invoked in order to cause processing of the user's navigational gestures and delivery of Drag and Drop protocol notifications. A DragSource shall only permit a single Drag and Drop operation to be current at any one time, and shall reject any further startDrag() requests by throwing an IllegalDnDOperationException until such time as the extant operation is complete.

The startDrag() method invokes the createDragSourceContext() method to instantiate an appropriate DragSourceContext and associate the DragSourceContextPeer with that.

If the Drag and Drop System is unable to initiate a drag operation for some reason, the startDrag() method throws a java.awt.dnd.InvalidDnDOperationException to signal such a condition. Typically this exception is thrown when the underlying platform system is either not in a state to initiate a drag, or the parameters specified are invalid.

Note that during the drag, the set of operations exposed by the source at the start of the drag operation may not change until the operation is complete. The operation(s) are constant for the duration of the operation with respect to the DragSource.

Field Summary
public static final  Cursor DefaultCopyDrop    The default Cursor to use with a copy operation indicating that a drop is currently allowed. null if GraphicsEnvironment.isHeadless() returns true.
    Also see:
    java.awt.GraphicsEnvironment#isHeadless
 
public static final  Cursor DefaultMoveDrop    The default Cursor to use with a move operation indicating that a drop is currently allowed. null if GraphicsEnvironment.isHeadless() returns true.
    Also see:
    java.awt.GraphicsEnvironment#isHeadless
 
public static final  Cursor DefaultLinkDrop    The default Cursor to use with a link operation indicating that a drop is currently allowed. null if GraphicsEnvironment.isHeadless() returns true.
    Also see:
    java.awt.GraphicsEnvironment#isHeadless
 
public static final  Cursor DefaultCopyNoDrop    The default Cursor to use with a copy operation indicating that a drop is currently not allowed. null if GraphicsEnvironment.isHeadless() returns true.
    Also see:
    java.awt.GraphicsEnvironment#isHeadless
 
public static final  Cursor DefaultMoveNoDrop    The default Cursor to use with a move operation indicating that a drop is currently not allowed. null if GraphicsEnvironment.isHeadless() returns true.
    Also see:
    java.awt.GraphicsEnvironment#isHeadless
 
public static final  Cursor DefaultLinkNoDrop    The default Cursor to use with a link operation indicating that a drop is currently not allowed. null if GraphicsEnvironment.isHeadless() returns true.
    Also see:
    java.awt.GraphicsEnvironment#isHeadless
 
static final  String dragSourceListenerK    Internal constants for serialization. 
static final  String dragSourceMotionListenerK     
Constructor:
 public DragSource() throws HeadlessException 
    Creates a new DragSource.
    Throws:
    HeadlessException - if GraphicsEnvironment.isHeadless() returns true
    Also see:
    java.awt.GraphicsEnvironment#isHeadless
    exception: HeadlessException - if GraphicsEnvironment.isHeadless() returns true
Method from java.awt.dnd.DragSource Summary:
addDragSourceListener,   addDragSourceMotionListener,   createDefaultDragGestureRecognizer,   createDragGestureRecognizer,   createDragSourceContext,   getDefaultDragSource,   getDragSourceListeners,   getDragSourceMotionListeners,   getDragThreshold,   getFlavorMap,   getListeners,   isDragImageSupported,   processDragDropEnd,   processDragEnter,   processDragExit,   processDragMouseMoved,   processDragOver,   processDropActionChanged,   removeDragSourceListener,   removeDragSourceMotionListener,   startDrag,   startDrag,   startDrag,   startDrag
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from java.awt.dnd.DragSource Detail:
 public  void addDragSourceListener(DragSourceListener dsl) 
    Adds the specified DragSourceListener to this DragSource to receive drag source events during drag operations intiated with this DragSource. If a null listener is specified, no action is taken and no exception is thrown.
 public  void addDragSourceMotionListener(DragSourceMotionListener dsml) 
    Adds the specified DragSourceMotionListener to this DragSource to receive drag motion events during drag operations intiated with this DragSource. If a null listener is specified, no action is taken and no exception is thrown.
 public DragGestureRecognizer createDefaultDragGestureRecognizer(Component c,
    int actions,
    DragGestureListener dgl) 
    Creates a new DragGestureRecognizer that implements the default abstract subclass of DragGestureRecognizer for this DragSource, and sets the specified Component and DragGestureListener on the newly created object. For this DragSource the default is MouseDragGestureRecognizer.

 public T createDragGestureRecognizer(Class<T> recognizerAbstractClass,
    Component c,
    int actions,
    DragGestureListener dgl) 
    Creates a new DragGestureRecognizer that implements the specified abstract subclass of DragGestureRecognizer, and sets the specified Component and DragGestureListener on the newly created object.

 protected DragSourceContext createDragSourceContext(DragSourceContextPeer dscp,
    DragGestureEvent dgl,
    Cursor dragCursor,
    Image dragImage,
    Point imageOffset,
    Transferable t,
    DragSourceListener dsl) 
    Creates the {@code DragSourceContext} to handle the current drag operation.

    To incorporate a new DragSourceContext subclass, subclass DragSource and override this method.

    If dragImage is null, no image is used to represent the drag over feedback for this drag operation, but NullPointerException is not thrown.

    If dsl is null, no drag source listener is registered with the created DragSourceContext, but NullPointerException is not thrown.

 public static DragSource getDefaultDragSource() 
    Gets the DragSource object associated with the underlying platform.
 public DragSourceListener[] getDragSourceListeners() 
    Gets all the DragSourceListeners registered with this DragSource.
 public DragSourceMotionListener[] getDragSourceMotionListeners() 
    Gets all of the DragSourceMotionListeners registered with this DragSource.
 public static int getDragThreshold() 
    Returns the drag gesture motion threshold. The drag gesture motion threshold defines the recommended behavior for MouseDragGestureRecognizer s.

    If the system property awt.dnd.drag.threshold is set to a positive integer, this method returns the value of the system property; otherwise if a pertinent desktop property is available and supported by the implementation of the Java platform, this method returns the value of that property; otherwise this method returns some default value. The pertinent desktop property can be queried using java.awt.Toolkit.getDesktopProperty("DnD.gestureMotionThreshold").

 public FlavorMap getFlavorMap() 
    This method returns the FlavorMap for this DragSource.

 public T[] getListeners(Class<T> listenerType) 
    Gets all the objects currently registered as FooListeners upon this DragSource. FooListeners are registered using the addFooListener method.
 public static boolean isDragImageSupported() 
    Reports whether or not drag Image support is available on the underlying platform.

  void processDragDropEnd(DragSourceDropEvent dsde) 
    This method calls dragDropEnd on the DragSourceListeners registered with this DragSource, and passes them the specified DragSourceDropEvent.
  void processDragEnter(DragSourceDragEvent dsde) 
    This method calls dragEnter on the DragSourceListeners registered with this DragSource, and passes them the specified DragSourceDragEvent.
  void processDragExit(DragSourceEvent dse) 
    This method calls dragExit on the DragSourceListeners registered with this DragSource, and passes them the specified DragSourceEvent.
  void processDragMouseMoved(DragSourceDragEvent dsde) 
    This method calls dragMouseMoved on the DragSourceMotionListeners registered with this DragSource, and passes them the specified DragSourceDragEvent.
  void processDragOver(DragSourceDragEvent dsde) 
    This method calls dragOver on the DragSourceListeners registered with this DragSource, and passes them the specified DragSourceDragEvent.
  void processDropActionChanged(DragSourceDragEvent dsde) 
    This method calls dropActionChanged on the DragSourceListeners registered with this DragSource, and passes them the specified DragSourceDragEvent.
 public  void removeDragSourceListener(DragSourceListener dsl) 
    Removes the specified DragSourceListener from this DragSource. If a null listener is specified, no action is taken and no exception is thrown. If the listener specified by the argument was not previously added to this DragSource, no action is taken and no exception is thrown.
 public  void removeDragSourceMotionListener(DragSourceMotionListener dsml) 
    Removes the specified DragSourceMotionListener from this DragSource. If a null listener is specified, no action is taken and no exception is thrown. If the listener specified by the argument was not previously added to this DragSource, no action is taken and no exception is thrown.
 public  void startDrag(DragGestureEvent trigger,
    Cursor dragCursor,
    Transferable transferable,
    DragSourceListener dsl) throws InvalidDnDOperationException 
    Start a drag, given the DragGestureEvent that initiated the drag, the initial Cursor to use, the Transferable subject data of the drag, and the DragSourceListener.

 public  void startDrag(DragGestureEvent trigger,
    Cursor dragCursor,
    Transferable transferable,
    DragSourceListener dsl,
    FlavorMap flavorMap) throws InvalidDnDOperationException 
    Start a drag, given the DragGestureEvent that initiated the drag, the initial Cursor to use, the Transferable subject data of the drag, the DragSourceListener, and the FlavorMap.

 public  void startDrag(DragGestureEvent trigger,
    Cursor dragCursor,
    Image dragImage,
    Point dragOffset,
    Transferable transferable,
    DragSourceListener dsl) throws InvalidDnDOperationException 
    Start a drag, given the DragGestureEvent that initiated the drag, the initial Cursor to use, the Image to drag, the offset of the Image origin from the hotspot of the Cursor at the instant of the trigger, the subject data of the drag, and the DragSourceListener.

 public  void startDrag(DragGestureEvent trigger,
    Cursor dragCursor,
    Image dragImage,
    Point imageOffset,
    Transferable transferable,
    DragSourceListener dsl,
    FlavorMap flavorMap) throws InvalidDnDOperationException 
    Start a drag, given the DragGestureEvent that initiated the drag, the initial Cursor to use, the Image to drag, the offset of the Image origin from the hotspot of the Cursor at the instant of the trigger, the Transferable subject data of the drag, the DragSourceListener, and the FlavorMap.