import javax.swing.*;
import java.awt.dnd.*;
import java.awt.datatransfer.*;
 
/*dkplus专业搜集和编写实用电脑软件教程,
*搜集各种软件资源和计算机周边,独立制作视频和ppt和音频微信公众号,
*点击进入 dkplus官方博客 (java网络编程http://dkplus.),
*微信搜索dkplus关注公众号可获取海量计算机周边资源。*/
 
public class DragLabel extends JLabel implements DropTargetListener{
     
    public DragLabel(String str){
        super(str);  //调用父类构造函数
    }
     
    public void dragEnter(DropTargetDragEvent evt) {
    }
    public void dragOver(DropTargetDragEvent evt) {
    }
    public void dropActionChanged(DropTargetDragEvent evt) {
    }
    public void dragExit(DropTargetEvent evt) {
    }
    public void drop(DropTargetDropEvent evt) {  //拖动操作处理
        try{
            Transferable trans = evt.getTransferable(); //得以Transferable对象
            if (evt.isDataFlavorSupported(DataFlavor.stringFlavor)){ //是否支持拖动
                evt.acceptDrop(evt.getDropAction()); //接受拖动
                String s = (String) trans.getTransferData(DataFlavor.stringFlavor); //得到拖动数据
                setText(s); //设置标签的文本
                evt.dropComplete(true); //结束拖动
            }else{
                evt.rejectDrop(); //拒绝托运
 
            }
        }catch(Exception err){
            err.printStackTrace(); //输出出错信息
        }
    }
 
}