Java中如何把文件拖拽到文本框呢?

先看一个例子:

 

 

核心代码:

Java代码  
  1. /***
  2. * 拖拽文件到文本框
  3. * @param component
  4. */
  5. public void drag(final Component component)// 定义的拖拽方法
  6. {
  7. // panel表示要接受拖拽的控件
  8. new DropTarget(component, DnDConstants.ACTION_COPY_OR_MOVE,
  9. new DropTargetAdapter() {
  10. @Override
  11. public void drop(DropTargetDropEvent dtde)// 重写适配器的drop方法
  12. {
  13. try {
  14. if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor))// 如果拖入的文件格式受支持
  15. {
  16. dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);// 接收拖拽来的数据
  17. List<File> list = (List<File>) (dtde
  18. .getTransferable()
  19. .getTransferData(DataFlavor.javaFileListFlavor));
  20. //                              String temp = "";
  21. //                              for (File file : list)
  22. //                                  temp += file.getAbsolutePath() + ";\n";
  23. //                              JOptionPane.showMessageDialog(null, temp);
  24. dragResponse(list,component);
  25. dtde.dropComplete(true);// 指示拖拽操作已完成
  26. } else {
  27. dtde.rejectDrop();// 否则拒绝拖拽来的数据
  28. }
  29. } catch (Exception e) {
  30. e.printStackTrace();
  31. }
  32. }
  33. });
  34. }
  35. /***
  36. * 默认实现
  37. */
  38. @Override
  39. protected void dragResponse(List<File> list,Component component) {
  40. String filePath=list.get(0).getAbsolutePath();
  41. if(component instanceof  JTextComponent){
  42. JTextComponent text=(JTextComponent)component;
  43. //把文本框的内容设置为拖拽文件的全路径
  44. text.setText(filePath);
  45. }
  46. }

调用:

项目采用maven 构建,项目结构:

Java 拖拽文件到文本框相关推荐

  1. dropzone java实例_Java实现拖拽文件上传dropzone.js的简单使用示例代码

    Java实习生一枚,前端知识薄弱,最近因为工作需要,做了一个拖拽文件上传的功能,发现dropzone.js挺不错的,特地做个笔记. 自己写的拖拽文件至一个按钮上传的功能,前端及java代码如下: js ...

  2. dropzone.js应用java_拖拽文件上传(Java篇)dropzone.js的简单使用

    java实习生一枚,前端知识薄弱,最近因为工作需要,做了一个拖拽文件上传的功能,发现dropzone.js挺不错的,特地做个笔记. dropzonejs 的官网是:http://www.dropzon ...

  3. H5中的拖拽文件上传-----------------需修改,需测试

    一:介绍 1.内容摘要 2.主要设计的技术 3.drag与drop事件 4.drag与drop的部分重要代码 5.File Api 6.formData 二:程序演示 1. 1 <!DOCTYP ...

  4. MFC中窗口实现拖拽文件功能

    MFC窗口拖拽文件功能指的是用鼠标将文件拖拽入窗口后,在窗口中可以获取拖拽文件的绝对路径,如图1所示. 图1 文件拖拽功能 实现窗口的拖拽文件功能,首先要将窗口注册为放置拖拽文件的目标,之后在窗口中响 ...

  5. VMware安装vmtools后不能粘贴复制和拖拽文件

    1.环境 Vmware16 , Ubuntu 18.04 2.事由 安装完Ubuntu18,安装Vmtools后,不能实现与主机之间文本的复制粘贴,文件亦无法与主机之间拖拽复制.重新安装Vmtools ...

  6. Win11拖拽文件偶现卡顿死机情况解决

    目录 Win11拖拽文件卡顿解决 方法一:在单独的进程中打开文件夹窗口 方法二:解决透明效果不兼容 Win11文件资源管理器未响应解决 解决方法一:打开控制面板-文件资源管理器选项 解决方法二 解决方 ...

  7. MFC编程 -- 实现拖拽文件获取路径

    一.设置界面,拖拽一个编辑框到窗口,设置好大小,将接收文件属性改为true 二.源代码 1.添加消息事件 case WM_DROPFILES:return 拖拽文件(hwndDlg, (HDROP)w ...

  8. 基于layui.upload.js 拖拽文件/文件夹上传下载

    layui.upload.js 拖拽文件/文件夹上传下载 前言 js代码 页面使用(我这里用的是uploader.jsp) CSS文件 上传效果 总结 前言 项目需求完成文件上传,可以拖拽上传文件/文 ...

  9. pyqt界面支持拖拽文件

    问题 之前使用pyqt写过一个升级工具, 使用的过程中发现每次通过文件选项框选择文件太过于麻烦,如果可以支持拖拽文件进入就简便很多,于是去查了一下更新了一下工具; 结果 因为我使用的组件是QLineE ...

最新文章

  1. Touch Event
  2. Marketing Cloud的Contact主数据创建
  3. 【javascript高级教程】JavaScript Number 对象
  4. Eclipse开发Android程序如何在手机上运行
  5. struts2 action 中autowired 不能注入
  6. ELK官方文档:在Kibana加密通讯
  7. centos6.6安全设置
  8. 关于公司RIA的选型问题
  9. 初学“深入浅出MFC”之(一)
  10. scratch编程例子
  11. MySQL 数据库 source 命令详解及实例
  12. 2099 找到和最大的长度为 K 的子序列
  13. python编写赛车_90%的人说Python程序慢,5大神招让你的代码像赛车一样跑起来
  14. jQuery 参考手册 - 核心
  15. 安装 pulseaudio
  16. Vue 路由器入门指南
  17. 船舶强度与结构设计大作业二matlab,华科船舶结构强度第二次大作业
  18. 计算机网络布线教学,计算机网络综合布线【基于项目的《网络综合布线》课程理实一体化教学思考】...
  19. android开发技术路线图
  20. 如何提高Assignment写作效率?

热门文章

  1. maxcompute 2.0复杂数据类型之struct
  2. jQuery在页面加载的时候自动调用某个函数的方法(转载)
  3. 基于DDD的.NET开发框架 - ABP缓存Caching实现
  4. 深入浅出JMS(一)——JMS简单介绍
  5. 设置apache目录认证
  6. 计院生活--第二章 深入虎穴(下)
  7. 终于在昆明看见下雪了
  8. html/jquery 常用的输入与获取参数
  9. Linux 查看Pyhont的解释器大小
  10. python构造响应头_Python爬虫库requests获取响应内容、响应状态码、响应头