public class FileDragAndDropHandler
extends javax.swing.TransferHandler
To provide drag functionality override filesDropped() method and enable drag operation through methods or constructor.
You will also have to call "exportAsDrag" method of TransferHandler to initialize drag operation from where you want it to start.
Usually that action is done from MouseMotionListener drag method.
To provide drop functionality imply override filesDropped() method and enable drop operation through methods or constructor.
| Modifier and Type | Field and Description |
|---|---|
protected int |
dragAction
Desired drag action.
|
protected boolean |
dragEnabled
Whether files drag is enabled or not.
|
protected boolean |
dropEnabled
Whether files drop is enabled or not.
|
| Constructor and Description |
|---|
FileDragAndDropHandler()
Constructs new FileDragAndDropHandler that allows only file drop operations.
|
FileDragAndDropHandler(boolean dragEnabled,
boolean dropEnabled)
Constructs new FileDragAndDropHandler that might allow drag and/or drop operations.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
canImport(javax.swing.TransferHandler.TransferSupport info) |
protected java.awt.datatransfer.Transferable |
createTransferable(javax.swing.JComponent c) |
java.io.File |
fileDragged()
Informs that drag action has started and dragged file should be provided.
|
java.util.List<java.io.File> |
filesDragged()
Informs that drag action has started and list of dragged files should be provided.
|
boolean |
filesDropped(java.util.List<java.io.File> files)
Informs that specified files were dropped.
|
int |
getDragAction()
Returns desired drag action.
|
int |
getSourceActions(javax.swing.JComponent c) |
boolean |
importData(java.awt.datatransfer.Transferable t)
Performs data import checks and action.
|
boolean |
importData(javax.swing.TransferHandler.TransferSupport info) |
boolean |
isDragEnabled()
Returns whether drag is enabled or not.
|
boolean |
isDropEnabled()
Returns whether drop is enabled or not.
|
void |
setDragAction(int action)
Sets desired drag action.
|
void |
setDragEnabled(boolean enabled)
Sets whether drag is enabled or not.
|
void |
setDropEnabled(boolean enabled)
Sets whether drop is enabled or not.
|
protected boolean dragEnabled
protected int dragAction
protected boolean dropEnabled
public FileDragAndDropHandler()
public FileDragAndDropHandler(boolean dragEnabled,
boolean dropEnabled)
dragEnabled - whether drag operations are alloweddropEnabled - whether drop operations are allowedpublic boolean isDragEnabled()
false is set any drag actions will be blocked.public void setDragEnabled(boolean enabled)
false is set any drag actions will be blocked.enabled - whether drag is enabled or notpublic int getDragAction()
TransferHandler.COPY or TransferHandler.MOVE constant.public void setDragAction(int action)
TransferHandler.COPY or TransferHandler.MOVE constant.action - new desired drag actionpublic int getSourceActions(javax.swing.JComponent c)
getSourceActions in class javax.swing.TransferHandlerprotected java.awt.datatransfer.Transferable createTransferable(javax.swing.JComponent c)
createTransferable in class javax.swing.TransferHandlerpublic java.util.List<java.io.File> filesDragged()
public java.io.File fileDragged()
public boolean isDropEnabled()
false is returned any drop actions are blocked.public void setDropEnabled(boolean enabled)
false is set any drop actions will be blocked.enabled - whether drop is enabled or notpublic boolean canImport(javax.swing.TransferHandler.TransferSupport info)
canImport in class javax.swing.TransferHandlerpublic boolean importData(javax.swing.TransferHandler.TransferSupport info)
importData in class javax.swing.TransferHandlerpublic boolean importData(java.awt.datatransfer.Transferable t)
t - dropped transferablepublic boolean filesDropped(java.util.List<java.io.File> files)
files - list of dropped files