ch.randelshofer.gui.datatransfer
Class FileTextFieldTransferHandler
java.lang.Object
javax.swing.TransferHandler
ch.randelshofer.gui.datatransfer.FileTextFieldTransferHandler
- All Implemented Interfaces:
- java.io.Serializable
public class FileTextFieldTransferHandler
- extends javax.swing.TransferHandler
The FileTextFieldTransferHandler can be used to add drag and drop
support for JTextFields, which contain the path to a file.
- Version:
- 1.0 September 8, 2007 Created.
- Author:
- Werner Randelshofer
- See Also:
- Serialized Form
| Nested classes/interfaces inherited from class javax.swing.TransferHandler |
javax.swing.TransferHandler.DropLocation, javax.swing.TransferHandler.TransferSupport |
| Fields inherited from class javax.swing.TransferHandler |
COPY, COPY_OR_MOVE, LINK, MOVE, NONE |
|
Method Summary |
boolean |
canImport(javax.swing.JComponent comp,
java.awt.datatransfer.DataFlavor[] transferFlavors)
|
protected java.awt.datatransfer.Transferable |
createTransferable(javax.swing.JComponent comp)
|
protected void |
exportDone(javax.swing.JComponent comp,
java.awt.datatransfer.Transferable data,
int action)
This method is called after data has been exported. |
protected java.awt.datatransfer.DataFlavor |
getImportFlavor(java.awt.datatransfer.DataFlavor[] flavors,
javax.swing.text.JTextComponent c)
Try to find a flavor that can be used to import a Transferable. |
int |
getSourceActions(javax.swing.JComponent comp)
This is the type of transfer actions supported by the source. |
protected void |
handleReaderImport(java.io.Reader in,
javax.swing.text.JTextComponent c,
boolean useRead)
Import the given stream data into the text component. |
boolean |
importData(javax.swing.JComponent comp,
java.awt.datatransfer.Transferable t)
|
| Methods inherited from class javax.swing.TransferHandler |
canImport, exportAsDrag, exportToClipboard, getCopyAction, getCutAction, getPasteAction, getVisualRepresentation, importData |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FileTextFieldTransferHandler
public FileTextFieldTransferHandler()
- Creates a new instance.
importData
public boolean importData(javax.swing.JComponent comp,
java.awt.datatransfer.Transferable t)
- Overrides:
importData in class javax.swing.TransferHandler
createTransferable
protected java.awt.datatransfer.Transferable createTransferable(javax.swing.JComponent comp)
- Overrides:
createTransferable in class javax.swing.TransferHandler
canImport
public boolean canImport(javax.swing.JComponent comp,
java.awt.datatransfer.DataFlavor[] transferFlavors)
- Overrides:
canImport in class javax.swing.TransferHandler
getImportFlavor
protected java.awt.datatransfer.DataFlavor getImportFlavor(java.awt.datatransfer.DataFlavor[] flavors,
javax.swing.text.JTextComponent c)
- Try to find a flavor that can be used to import a Transferable.
The set of usable flavors are tried in the following order:
- First, an attempt to find a text/plain flavor is made.
- Second, an attempt to find a flavor representing a String reference
in the same VM is made.
- Lastly, DataFlavor.stringFlavor is searched for.
handleReaderImport
protected void handleReaderImport(java.io.Reader in,
javax.swing.text.JTextComponent c,
boolean useRead)
throws javax.swing.text.BadLocationException,
java.io.IOException
- Import the given stream data into the text component.
- Throws:
javax.swing.text.BadLocationException
java.io.IOException
getSourceActions
public int getSourceActions(javax.swing.JComponent comp)
- This is the type of transfer actions supported by the source. Some models are
not mutable, so a transfer operation of COPY only should
be advertised in that case.
- Overrides:
getSourceActions in class javax.swing.TransferHandler
- Parameters:
comp - The component holding the data to be transfered. This
argument is provided to enable sharing of TransferHandlers by
multiple components.
- Returns:
- This is implemented to return NONE if the component is a JPasswordField
since exporting data via user gestures is not allowed. If the text component is
editable, COPY_OR_MOVE is returned, otherwise just COPY is allowed.
exportDone
protected void exportDone(javax.swing.JComponent comp,
java.awt.datatransfer.Transferable data,
int action)
- This method is called after data has been exported. This method should remove
the data that was transfered if the action was MOVE.
- Overrides:
exportDone in class javax.swing.TransferHandler
- Parameters:
comp - The component that was the source of the data.data - The data that was transferred or possibly null
if the action is NONE.action - The actual action that was performed.