怎样获取拖拽到控件上的本地文件路径(SWT,java)

RT如何监听拖拽文件的事件
2025-01-01 05:40:00
推荐回答(3个)
回答1:

你好!你的问题描述的非常清楚!
1.注册控件为DropTarget
DropTarget dropTarget = new DropTarget(dropCom, DND.DROP_NONE); //dropCom为你的控件

2.添加transfer并制定支持拖拽的类型为file
Transfer[] transfer = new Transfer[]{FileTransfer.getInstance()};
dropTarget.setTransfer(transfer);

3.给控件添加监听
dropTarget.addDropListener(new DropTargetListener(){}); //自动补全监听器即可

4.获取文件的绝对路径
在监听中找到下面方法并添加代码
public void drop(DropTargetEvent arg0){

String[] files = (String[])arg0.data;
// files[i]元素值就是同时拖拽到该控件的第i个文件的绝对路径

}

还有疑问的话可以继续联系我:)

回答2:

回答3:

您描述的不是很清楚,拖拽控件都在类里啊