java.lang.Object
java.awt.dnd.DropTarget
- All Implemented Interfaces:
DropTargetListener
,Serializable
,EventListener
The
DropTarget
is associated
with a Component
when that Component
wishes
to accept drops during Drag and Drop operations.
Each
DropTarget
is associated with a FlavorMap
.
The default FlavorMap
hereafter designates the
FlavorMap
returned by SystemFlavorMap.getDefaultFlavorMap()
.
- Since:
- 1.2
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
this protected nested class implements autoscrolling -
Constructor Summary
ConstructorDescriptionCreates aDropTarget
.DropTarget
(Component c, int ops, DropTargetListener dtl) Creates aDropTarget
given theComponent
to associate itself with, anint
representing the default acceptable action(s) to support, and aDropTargetListener
to handle event processing.DropTarget
(Component c, int ops, DropTargetListener dtl, boolean act) Creates aDropTarget
given theComponent
to associate itself with, anint
representing the default acceptable action(s) to support, aDropTargetListener
to handle event processing, and aboolean
indicating if theDropTarget
is currently accepting drops.DropTarget
(Component c, int ops, DropTargetListener dtl, boolean act, FlavorMap fm) Creates a new DropTarget given theComponent
to associate itself with, anint
representing the default acceptable action(s) to support, aDropTargetListener
to handle event processing, aboolean
indicating if theDropTarget
is currently accepting drops, and aFlavorMap
to use (or null for the defaultFlavorMap
).DropTarget
(Component c, DropTargetListener dtl) Creates aDropTarget
given theComponent
to associate itself with, and theDropTargetListener
to handle event processing. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a newDropTargetListener
(UNICAST SOURCE).void
Notify the DropTarget that it has been associated with a Component This method is usually called from java.awt.Component.addNotify() of the Component associated with this DropTarget to notify the DropTarget that a ComponentPeer has been associated with that Component.protected void
clear autoscrollingprotected DropTarget.DropTargetAutoScroller
create an embedded autoscrollerprotected DropTargetContext
Creates the DropTargetContext associated with this DropTarget.void
dragEnter
(DropTargetDragEvent dtde) CallsdragEnter
on the registeredDropTargetListener
and passes it the specifiedDropTargetDragEvent
.void
dragExit
(DropTargetEvent dte) CallsdragExit
on the registeredDropTargetListener
and passes it the specifiedDropTargetEvent
.void
dragOver
(DropTargetDragEvent dtde) CallsdragOver
on the registeredDropTargetListener
and passes it the specifiedDropTargetDragEvent
.void
drop
(DropTargetDropEvent dtde) Callsdrop
on the registeredDropTargetListener
and passes it the specifiedDropTargetDropEvent
if thisDropTarget
is active.void
CallsdropActionChanged
on the registeredDropTargetListener
and passes it the specifiedDropTargetDragEvent
.Gets theComponent
associated with thisDropTarget
.int
Gets anint
representing the current action(s) supported by thisDropTarget
.Gets theDropTargetContext
associated with thisDropTarget
.Gets theFlavorMap
associated with thisDropTarget
.protected void
initialize autoscrollingboolean
isActive()
Reports whether or not thisDropTarget
is currently active (ready to accept drops).void
Removes the currentDropTargetListener
(UNICAST SOURCE).void
Notify the DropTarget that it has been disassociated from a Component This method is usually called from java.awt.Component.removeNotify() of the Component associated with this DropTarget to notify the DropTarget that a ComponentPeer has been disassociated with that Component.void
setActive
(boolean isActive) Sets the DropTarget active iftrue
, inactive iffalse
.void
Note: this interface is required to permit the safe association of a DropTarget with a Component in one of two ways, either:component.setDropTarget(droptarget);
ordroptarget.setComponent(component);
void
setDefaultActions
(int ops) Sets the default acceptable actions for thisDropTarget
void
Sets theFlavorMap
associated with thisDropTarget
.protected void
updateAutoscroll
(Point dragCursorLocn) update autoscrolling with current cursor location
-
Constructor Details
-
DropTarget
public DropTarget(Component c, int ops, DropTargetListener dtl, boolean act, FlavorMap fm) throws HeadlessException Creates a new DropTarget given theComponent
to associate itself with, anint
representing the default acceptable action(s) to support, aDropTargetListener
to handle event processing, aboolean
indicating if theDropTarget
is currently accepting drops, and aFlavorMap
to use (or null for the defaultFlavorMap
).The Component will receive drops only if it is enabled.
- Parameters:
c
- TheComponent
with which thisDropTarget
is associatedops
- The default acceptable actions for thisDropTarget
dtl
- TheDropTargetListener
for thisDropTarget
act
- Is theDropTarget
accepting drops.fm
- TheFlavorMap
to use, or null for the defaultFlavorMap
- Throws:
HeadlessException
- if GraphicsEnvironment.isHeadless() returns true- See Also:
-
DropTarget
public DropTarget(Component c, int ops, DropTargetListener dtl, boolean act) throws HeadlessException Creates aDropTarget
given theComponent
to associate itself with, anint
representing the default acceptable action(s) to support, aDropTargetListener
to handle event processing, and aboolean
indicating if theDropTarget
is currently accepting drops.The Component will receive drops only if it is enabled.
- Parameters:
c
- TheComponent
with which thisDropTarget
is associatedops
- The default acceptable actions for thisDropTarget
dtl
- TheDropTargetListener
for thisDropTarget
act
- Is theDropTarget
accepting drops.- Throws:
HeadlessException
- if GraphicsEnvironment.isHeadless() returns true- See Also:
-
DropTarget
Creates aDropTarget
.- Throws:
HeadlessException
- if GraphicsEnvironment.isHeadless() returns true- See Also:
-
DropTarget
Creates aDropTarget
given theComponent
to associate itself with, and theDropTargetListener
to handle event processing.The Component will receive drops only if it is enabled.
- Parameters:
c
- TheComponent
with which thisDropTarget
is associateddtl
- TheDropTargetListener
for thisDropTarget
- Throws:
HeadlessException
- if GraphicsEnvironment.isHeadless() returns true- See Also:
-
DropTarget
Creates aDropTarget
given theComponent
to associate itself with, anint
representing the default acceptable action(s) to support, and aDropTargetListener
to handle event processing.The Component will receive drops only if it is enabled.
- Parameters:
c
- TheComponent
with which thisDropTarget
is associatedops
- The default acceptable actions for thisDropTarget
dtl
- TheDropTargetListener
for thisDropTarget
- Throws:
HeadlessException
- if GraphicsEnvironment.isHeadless() returns true- See Also:
-
-
Method Details
-
setComponent
Note: this interface is required to permit the safe association of a DropTarget with a Component in one of two ways, either:component.setDropTarget(droptarget);
ordroptarget.setComponent(component);
The Component will receive drops only if it is enabled.
- Parameters:
c
- The newComponent
thisDropTarget
is to be associated with.
-
getComponent
Gets theComponent
associated with thisDropTarget
.- Returns:
- the current
Component
-
setDefaultActions
public void setDefaultActions(int ops) Sets the default acceptable actions for thisDropTarget
- Parameters:
ops
- the default actions- See Also:
-
getDefaultActions
public int getDefaultActions()Gets anint
representing the current action(s) supported by thisDropTarget
.- Returns:
- the current default actions
-
setActive
public void setActive(boolean isActive) Sets the DropTarget active iftrue
, inactive iffalse
.- Parameters:
isActive
- sets theDropTarget
(in)active.
-
isActive
public boolean isActive()Reports whether or not thisDropTarget
is currently active (ready to accept drops).- Returns:
true
if active,false
if not
-
addDropTargetListener
Adds a newDropTargetListener
(UNICAST SOURCE).- Parameters:
dtl
- The newDropTargetListener
- Throws:
TooManyListenersException
- if aDropTargetListener
is already added to thisDropTarget
.
-
removeDropTargetListener
Removes the currentDropTargetListener
(UNICAST SOURCE).- Parameters:
dtl
- the DropTargetListener to deregister.
-
dragEnter
CallsdragEnter
on the registeredDropTargetListener
and passes it the specifiedDropTargetDragEvent
. Has no effect if thisDropTarget
is not active.- Specified by:
dragEnter
in interfaceDropTargetListener
- Parameters:
dtde
- theDropTargetDragEvent
- Throws:
NullPointerException
- if thisDropTarget
is active anddtde
isnull
- See Also:
-
dragOver
CallsdragOver
on the registeredDropTargetListener
and passes it the specifiedDropTargetDragEvent
. Has no effect if thisDropTarget
is not active.- Specified by:
dragOver
in interfaceDropTargetListener
- Parameters:
dtde
- theDropTargetDragEvent
- Throws:
NullPointerException
- if thisDropTarget
is active anddtde
isnull
- See Also:
-
dropActionChanged
CallsdropActionChanged
on the registeredDropTargetListener
and passes it the specifiedDropTargetDragEvent
. Has no effect if thisDropTarget
is not active.- Specified by:
dropActionChanged
in interfaceDropTargetListener
- Parameters:
dtde
- theDropTargetDragEvent
- Throws:
NullPointerException
- if thisDropTarget
is active anddtde
isnull
- See Also:
-
dragExit
CallsdragExit
on the registeredDropTargetListener
and passes it the specifiedDropTargetEvent
. Has no effect if thisDropTarget
is not active.This method itself does not throw any exception for null parameter but for exceptions thrown by the respective method of the listener.
- Specified by:
dragExit
in interfaceDropTargetListener
- Parameters:
dte
- theDropTargetEvent
- See Also:
-
drop
Callsdrop
on the registeredDropTargetListener
and passes it the specifiedDropTargetDropEvent
if thisDropTarget
is active.- Specified by:
drop
in interfaceDropTargetListener
- Parameters:
dtde
- theDropTargetDropEvent
- Throws:
NullPointerException
- ifdtde
is null and at least one of the following is true: thisDropTarget
is not active, or there is no aDropTargetListener
registered.- See Also:
-
getFlavorMap
Gets theFlavorMap
associated with thisDropTarget
. If noFlavorMap
has been set for thisDropTarget
, it is associated with the defaultFlavorMap
.- Returns:
- the FlavorMap for this DropTarget
-
setFlavorMap
Sets theFlavorMap
associated with thisDropTarget
.- Parameters:
fm
- the newFlavorMap
, or null to associate the default FlavorMap with this DropTarget.
-
addNotify
public void addNotify()Notify the DropTarget that it has been associated with a Component This method is usually called from java.awt.Component.addNotify() of the Component associated with this DropTarget to notify the DropTarget that a ComponentPeer has been associated with that Component. Calling this method, other than to notify this DropTarget of the association of the ComponentPeer with the Component may result in a malfunction of the DnD system. -
removeNotify
public void removeNotify()Notify the DropTarget that it has been disassociated from a Component This method is usually called from java.awt.Component.removeNotify() of the Component associated with this DropTarget to notify the DropTarget that a ComponentPeer has been disassociated with that Component. Calling this method, other than to notify this DropTarget of the disassociation of the ComponentPeer from the Component may result in a malfunction of the DnD system. -
getDropTargetContext
Gets theDropTargetContext
associated with thisDropTarget
.- Returns:
- the
DropTargetContext
associated with thisDropTarget
.
-
createDropTargetContext
Creates the DropTargetContext associated with this DropTarget. Subclasses may override this method to instantiate their own DropTargetContext subclass. This call is typically *only* called by the platform's DropTargetContextPeer as a drag operation encounters this DropTarget. Accessing the Context while no Drag is current has undefined results.- Returns:
- the DropTargetContext associated with this DropTarget
-
createDropTargetAutoScroller
create an embedded autoscroller- Parameters:
c
- theComponent
p
- thePoint
- Returns:
- an embedded autoscroller
-
initializeAutoscrolling
initialize autoscrolling- Parameters:
p
- thePoint
-
updateAutoscroll
update autoscrolling with current cursor location- Parameters:
dragCursorLocn
- thePoint
-
clearAutoscroll
protected void clearAutoscroll()clear autoscrolling
-