永发信息网

java文件拖动

答案:3  悬赏:0  手机版
解决时间 2021-04-23 11:18
我要实现这样一个功能,有一个text框,我把一个文件用鼠标拖动到这个text的区域内,text中就会多一条内容,显示的是这个文件的绝对路径,我现在一点思路都没有,请高手指教
最佳答案

读取拖放文件的,你参考 下:


txt.setTransferHandler(new TextTransferHandler(txt));



package com.pad;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;


import javax.swing.JComponent;
import javax.swing.JTextArea;
import javax.swing.TransferHandler;
public class TextTransferHandler extends TransferHandler{

private JTextArea Text;
public TextTransferHandler(JTextArea Text) {
this.Text=Text;
}
public boolean canImport(JComponent c,DataFlavor[] flavors) {
for(int i=0;i<flavors.length;i++) {
if(DataFlavor.javaFileListFlavor.equals(flavors[i])) {
return true;
}
}
return false;
}

public boolean importData(JComponent c,Transferable t) {
try {
List<?> files=(List<?>)t.getTransferData(DataFlavor.javaFileListFlavor);
addFilesToFilePathList(files);
} catch(UnsupportedFlavorException ufe) {
ufe.printStackTrace();
} catch(IOException ioe) {
ioe.printStackTrace();
}
return false;
}
private void addFilesToFilePathList(List<?> files) {
for(Iterator<?> iter=files.iterator();iter.hasNext();) {
File file=(File)iter.next();
String str=null;
try {
FileReader fr=new FileReader(file);
BufferedReader bfr=new BufferedReader(fr);
Text.setText(null);
while((str=bfr.readLine())!=null) {
Text.append(str+"\15\12");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}


}

全部回答
java.awt.dnd.DragSource java.awt.dnd.DragSourceContext java.awt.dnd.DragSourceEvent java.awt.dnd.DragSourceEvent
你用flex嘛,,
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
便秘,该怎么办啊!
qq声音突然没了,怎么办??
谁能告诉我,这样把握未来??
难道知道现在女朋友不是处,就分手对吗
阿里巴巴企业文化标语,新农村休闲广场娱乐标
麻水塘地址在哪,我要去那里办事
面对他我怎么办
请问手机突然屏幕变得很暗,亮度调节失效是什
QQ炫舞刷心问题
清肠茶什么时候喝最好,清肠吃什么最好
晕数学有关这个的怎么老搞不懂
2013年有什么好听的流行伤感歌曲,要2013新出
老电脑看bilibili直播卡,该怎么升级配置啊
梦幻西游密保卡坐标都用完了的话那个号作废么
为什么我的qqlive就是点不亮?
推荐资讯
送姐姐生日祝福语大全,全体同事对老板生日祝
红底的广告牌搭配什么颜色字?
怎么样才能在微信中找到小程序选项
快递邮件丢失,谁能帮帮我
丝路1个月不玩是不是就删号了
跪求健康增肥法!
空间里的装饰不见了,怎么回事
分别用一、二、三、四、五、六、七、八、九、
现在宇宙灵魂怎么获得
QQ飞有20点卷的商品吗
德国慕尼黑有celine或者prada的包包吗,谢谢
甲基橙的变色范围是多少
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?