
•Atsome point, the user moves his attention to some other application and
issues a paste command in that application. This receiving first application
calls
Toolkit.getSystemClipboard() to obtain a Clipboard object. Then it
calls
getContents() to obtain a Transferable object that repr esents the data
available on the clipboard. The application uses
getTransferDataFlavors()
or isDataFlavorSupported() to see if the clipboard data is available in a for-
mat it is willing to accept. If there is such a format, the application calls
get-
TransferData() to transfer the data.
•Atsome point after this cut-and-paste operation, the user cuts or copies a new
piece of data in an application. At this point, the original application ceases to
be the clipboard owner and no longer has to make its data available for past-
ing. The
lostOwnership() method of the originating application’s Clipboard-
Owner object is called to notify the application of this occurrence.
Drag-and-Drop
Java 1.2 adds drag-and-drop support to Java. Drag-and-drop requir es quite a bit
mor e infrastructur e than cut-and-paste, and this infrastructure is added in a pack-
age of its own,
java.awt.dnd. Despite the complexity of the infrastructure, drag-
and-dr op is built upon the same data transfer architectur e as cut-and-paste. The
key classes are still
DataFlavor and Transferable.
Her e’s the general outline of a drag-and-drop transaction from the ...