!752 import java.awt.datatransfer.*; import java.awt.dnd.*; p-awt { final new ImageSurface is; showFrame(jscroll(is)); new DropTarget(is, new DropTargetAdapter { public void drop(DropTargetDropEvent e) { print("DropTarget: drop received"); handleFileDrop(e); } void handleFileDrop(DropTargetDropEvent evt) { pcall { Transferable tr = evt.getTransferable(); DataFlavor[] flavors = tr.getTransferDataFlavors(); for (DataFlavor flavor : flavors) { print("flavor: " + flavor); if (flavor.isFlavorJavaFileListType()) { evt.acceptDrop(evt.getDropAction()); L list = (L) tr.getTransferData(flavor); if (list.size() != 0) { File file = list.get(0); is.setImage(loadBufferedImage(file)); } evt.dropComplete(true); return; } } } //print("Unknown data flavors (" + flavors.length + ")"); evt.rejectDrop(); } }); }