package jdraganddropdemo;
//Download by http://www.codefans.net
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.datatransfer.*;
import java.awt.dnd.*;
public class MainFrame extends JFrame implements DropTargetListener {
private JPanel contentPane;
private BorderLayout borderLayout1 = new BorderLayout();
private JTextField jTextField1 = new JTextField();
DragJLabel label = new DragJLabel("Hello World !",SwingConstants.CENTER);
//Construct the frame
public MainFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(MainFrame.class.getResource("[Your Icon]")));
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(410, 114));
this.setTitle("JDragAndDropDemo");
jTextField1.setFont(new java.awt.Font("Dialog", 0, 14));
contentPane.add(jTextField1, BorderLayout.SOUTH);
contentPane.add(this.label,BorderLayout.NORTH);
new DropTarget(this.jTextField1,DnDConstants.ACTION_COPY_OR_MOVE,this);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
public void dragEnter(DropTargetDragEvent dtde) {
/**@todo Implement this java.awt.dnd.DropTargetListener method*/
//throw new java.lang.UnsupportedOperationException("Method dragEnter() not yet implemented.");
}
public void dragOver(DropTargetDragEvent dtde) {
/**@todo Implement this java.awt.dnd.DropTargetListener method*/
//throw new java.lang.UnsupportedOperationException("Method dragOver() not yet implemented.");
}
public void dropActionChanged(DropTargetDragEvent dtde) {
/**@todo Implement this java.awt.dnd.DropTargetListener method*/
//throw new java.lang.UnsupportedOperationException("Method dropActionChanged() not yet implemented.");
}
public void dragExit(DropTargetEvent dte) {
/**@todo Implement this java.awt.dnd.DropTargetListener method*/
//throw new java.lang.UnsupportedOperationException("Method dragExit() not yet implemented.");
}
public void drop(DropTargetDropEvent dtde) {
/**@todo Implement this java.awt.dnd.DropTargetListener method*/
//throw new java.lang.UnsupportedOperationException("Method drop() not yet implemented.");
try{
Transferable tr = dtde.getTransferable();
if (dtde.isDataFlavorSupported(DataFlavor.stringFlavor)){
dtde.acceptDrop(dtde.getDropAction());
String s = (String) tr.getTransferData(DataFlavor.stringFlavor);
this.jTextField1.setText(this.jTextField1.getText()+s);
dtde.dropComplete(true);
}else{
dtde.rejectDrop();
}
}catch(Exception err){
err.printStackTrace();
}
}
}