1 import java.awt.dnd.DragSource; 2 import java.awt.dnd.DnDConstants; 3 import java.awt.dnd.DragGestureEvent; 4 import java.awt.dnd.DragGestureListener; 5 import java.awt.*; 6 7 public class SourcePanel extends Panel { 8 9 private final MyDragGestureListener dragGestureListener = 10 new MyDragGestureListener(); 11 12 public SourcePanel() { 13 setPreferredSize(new Dimension(200, 200)); 14 DragSource defaultDragSource = 15 DragSource.getDefaultDragSource(); 16 defaultDragSource.createDefaultDragGestureRecognizer(this, 17 DnDConstants.ACTION_COPY_OR_MOVE, dragGestureListener); 18 setBackground(Color.RED); 19 } 20 21 private class MyDragGestureListener implements DragGestureListener { 22 public void dragGestureRecognized(DragGestureEvent dge) { 23 dge.startDrag(null, new MyTransferable()); 24 } 25 } 26 }