jApp
Class DataTransferHandler
java.lang.Object
jApp.DataTransferHandler
public abstract class DataTransferHandler
- extends java.lang.Object
The DataTransferHandler
implements most of the functionality needed for
Drag / Drop and Copy / Paste functionality.
Typically Application
s instantiate in Document.createDataTransferHandler()
one instance
of a class derived from DataTransferHandler
which implements createTransferable(JComponent, MouseEvent)
,canImport(JComponent, DataFlavor[])
and importData(Transferable, JComponent, Point)
. To enable this is enough to support Copy/Paste
functionality. To support Drag and Drop the DataTransferHandler
needs to be associated with
one or more JComponent
s by calling addDataSource(JComponent)
.
- Author:
- nyholku
Method Summary |
void |
addDataSource(javax.swing.JComponent component)
|
protected abstract boolean |
canImport(javax.swing.JComponent target,
java.awt.datatransfer.DataFlavor[] flavors)
|
protected abstract java.awt.datatransfer.Transferable |
createTransferable(javax.swing.JComponent source,
java.awt.event.MouseEvent e)
|
static DataTransferHandler |
getDataTransferHandler(javax.swing.JComponent component)
|
protected void |
getFlavorMap(java.awt.datatransfer.FlavorMap map)
|
protected abstract boolean |
importData(java.awt.datatransfer.Transferable data,
javax.swing.JComponent target,
java.awt.Point location)
|
protected void |
removeDataFromSource(javax.swing.JComponent source,
java.awt.dnd.DragSourceDropEvent dsde)
|
void |
removeDataSource(javax.swing.JComponent component)
|
protected void |
startDrag(java.awt.dnd.DragSource source,
java.awt.dnd.DragGestureEvent event,
java.awt.datatransfer.Transferable transferable,
java.awt.dnd.DragSourceListener listener)
|
void |
startDrag(java.awt.event.MouseEvent event)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DataTransferHandler
public DataTransferHandler()
addDataSource
public void addDataSource(javax.swing.JComponent component)
removeDataSource
public void removeDataSource(javax.swing.JComponent component)
getDataTransferHandler
public static DataTransferHandler getDataTransferHandler(javax.swing.JComponent component)
startDrag
public void startDrag(java.awt.event.MouseEvent event)
getFlavorMap
protected void getFlavorMap(java.awt.datatransfer.FlavorMap map)
startDrag
protected void startDrag(java.awt.dnd.DragSource source,
java.awt.dnd.DragGestureEvent event,
java.awt.datatransfer.Transferable transferable,
java.awt.dnd.DragSourceListener listener)
removeDataFromSource
protected void removeDataFromSource(javax.swing.JComponent source,
java.awt.dnd.DragSourceDropEvent dsde)
createTransferable
protected abstract java.awt.datatransfer.Transferable createTransferable(javax.swing.JComponent source,
java.awt.event.MouseEvent e)
canImport
protected abstract boolean canImport(javax.swing.JComponent target,
java.awt.datatransfer.DataFlavor[] flavors)
importData
protected abstract boolean importData(java.awt.datatransfer.Transferable data,
javax.swing.JComponent target,
java.awt.Point location)
throws java.awt.datatransfer.UnsupportedFlavorException,
java.io.IOException
- Throws:
java.awt.datatransfer.UnsupportedFlavorException
java.io.IOException