import javax.swing.JFrame; import javax.swing.JOptionPane; import java.awt.HeadlessException; import java.awt.dnd.DnDConstants; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetDragEvent; import java.awt.dnd.DropTargetDropEvent; import java.awt.dnd.DropTargetEvent; import java.awt.dnd.DropTargetListener; public class MainClass extends JFrame implements DropTargetListener { public static void main(String[] args) { new MainClass(); } public MainClass() throws HeadlessException { new DropTarget(this, DnDConstants.ACTION_COPY_OR_MOVE, this); setSize(320, 256); setVisible(true); } @Override public void dragEnter(DropTargetDragEvent dtde) { dtde.acceptDrag(dtde.getDropAction()); } @Override public void dragOver(DropTargetDragEvent dtde) { dtde.acceptDrag(dtde.getDropAction()); } @Override public void dropActionChanged(DropTargetDragEvent dtde) { dtde.acceptDrag(dtde.getDropAction()); } @Override public void dragExit(DropTargetEvent dte) { } @Override public void drop(DropTargetDropEvent dtde) { dtde.acceptDrop(dtde.getDropAction()); JOptionPane.showConfirmDialog(this, "message"); dtde.dropComplete(true); } }