| |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public static final class TransferHandler.TransferSupport extends Object
This class encapsulates all relevant details of a clipboard or drag and drop transfer, and also allows for customizing aspects of the drag and drop experience.
The main purpose of this class is to provide the information needed by a developer to determine the suitability of a transfer or to import the data contained within. But it also doubles as a controller for customizing properties during drag and drop, such as whether or not to show the drop location, and which drop action to use.
Developers typically need not create instances of this
class. Instead, they are something provided by the DnD
implementation to certain methods in TransferHandler
.
Constructor Summary | |
---|---|
TransferHandler.TransferSupport(Component component, Transferable transferable) Create a TransferSupport with isDrop()
false for the given component and
Transferable .
|
Method Summary | |
---|---|
Component |
Returns the target component of this transfer. |
DataFlavor[] |
Returns the data flavors for this transfer. |
int |
Returns the action chosen for the drop, when this represents a drop. |
TransferHandler.DropLocation |
Returns the current (non-) drop location for the component, when this represents a drop. |
int |
Returns the drag source's supported drop actions, when this represents a drop. |
Transferable |
Returns the Transferable associated with this transfer.
|
int |
Returns the user drop action for the drop, when this represents a drop. |
boolean |
Returns whether or not the given data flavor is supported. |
boolean |
isDrop() Returns whether or not this TransferSupport
represents a drop operation.
|
void |
setDropAction(int dropAction) Sets the drop action for the transfer - which must represent a drop - to the given action, instead of the default user drop action. |
void |
setShowDropLocation(boolean showDropLocation) Sets whether or not the drop location should be visually indicated for the transfer - which must represent a drop. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TransferHandler.TransferSupport(Component component, Transferable transferable)
TransferSupport
with isDrop()
false
for the given component and
Transferable
.
component
- the target componenttransferable
- the transferableMethod Detail |
---|
public Component getComponent()
public DataFlavor[] getDataFlavors()
public int getDropAction()
Unless explicitly chosen by way of {@code setDropAction}, this returns the user drop action provided by {@code getUserDropAction}.
You may wish to query this in {@code TransferHandler}'s {@code importData} method to customize processing based on the action.
This method is only for use with drag and drop transfers. Calling it when {@code isDrop()} is {@code false} results in an {@code IllegalStateException}.
public TransferHandler.DropLocation getDropLocation()
Note: For components with built-in drop support, this location will be a subclass of {@code DropLocation} of the same type returned by that component's {@code getDropLocation} method.
This method is only for use with drag and drop transfers. Calling it when {@code isDrop()} is {@code false} results in an {@code IllegalStateException}.
public int getSourceDropActions()
The source actions represent the set of actions supported by the source of this transfer, and are represented as some bitwise-OR combination of {@code COPY}, {@code MOVE} and {@code LINK}. You may wish to query this in {@code TransferHandler}'s {@code canImport} method when determining the suitability of a drop or when deciding on a drop action to explicitly choose. To determine if a particular action is supported by the source, bitwise-AND the action with the source drop actions, and then compare the result against the original action. For example:
boolean copySupported = (COPY & getSourceDropActions()) == COPY;
This method is only for use with drag and drop transfers. Calling it when {@code isDrop()} is {@code false} results in an {@code IllegalStateException}.
public Transferable getTransferable()
Transferable
associated with this transfer.
Note: Unless it is necessary to fetch the Transferable
directly, use one of the other methods on this class to inquire about
the transfer. This may perform better than fetching the
Transferable
and asking it directly.
Transferable
associated with this transferpublic int getUserDropAction()
The user drop action is chosen for a drop as described in the documentation for {@link java.awt.dnd.DropTargetDragEvent} and {@link java.awt.dnd.DropTargetDropEvent}. A different action may be chosen as the drop action by way of the {@code setDropAction} method.
You may wish to query this in {@code TransferHandler}'s {@code canImport} method when determining the suitability of a drop or when deciding on a drop action to explicitly choose.
This method is only for use with drag and drop transfers. Calling it when {@code isDrop()} is {@code false} results in an {@code IllegalStateException}.
public boolean isDataFlavorSupported(DataFlavor df)
df
- the DataFlavor
to testpublic boolean isDrop()
TransferSupport
represents a drop operation.
true
if this is a drop operation,
false
otherwise.public void setDropAction(int dropAction)
This method is only for use with drag and drop transfers. Calling it when {@code isDrop()} is {@code false} results in an {@code IllegalStateException}.
dropAction
- the drop actionpublic void setShowDropLocation(boolean showDropLocation)
This method is only for use with drag and drop transfers. Calling it when {@code isDrop()} is {@code false} results in an {@code IllegalStateException}.
showDropLocation
- whether or not to indicate the drop location
| |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |