Java 拖拽文件到文本框

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.      */  
  39.     @Override  
  40.     protected void dragResponse(List<File> list,Component component) {  
  41.         String filePath=list.get(0).getAbsolutePath();  
  42.         if(component instanceof  JTextComponent){  
  43.             JTextComponent text=(JTextComponent)component;  
  44.             //把文本框的内容设置为拖拽文件的全路径  
  45.             text.setText(filePath);  
  46.         }  
  47.     }  

 调用:

 

 

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

时间: 2024-10-29 18:55:53

Java 拖拽文件到文本框的相关文章

c++-求教关于C++拖拽文件的问题

问题描述 求教关于C++拖拽文件的问题 C++怎么实现像QQ群上传文件一样,往聊天窗口的编辑框里拖拽一个文件,然后编辑框里面就会显示文件的图标和文件名,并且可以点击图标,也可以右键打开.复制等,也可以把这个图标一次删除掉 (我用的是VS2008的Win32项目,不是MFC项目). 我现在只可以实现往富文本框里面拖拽文件,然后显示图标和文件名,但是图标和文件名不是一个整体而是分开显示的,也不能点击图标,加不了右键菜单. 求教大神应该怎么做? (只剩下这一点点C币了...) 解决方案 http://

JAVA拖拽选择文件

最简单的选择文件的方式是使用文件选择框,但是这种方式在操作起来很麻烦,很多人在操作的时候喜欢直接使用鼠标拖拽,今天就为大家演示一下JAVA中如何实现直接用鼠标拖拽文件选择. import java.awt.datatransfer.DataFlavor; import java.awt.dnd.DnDConstants; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetAdapter; import java.awt.d

多文件多文本框上传程序

程序|上传|文本框 接触ASP也有将近一年时间,总想说一下自己的心得.正好今天单位工作不忙,我把我自己编写的多文件多文本框同时提交到服务器的纯ASP上传程序整理了一下,发表出来.希望与大家共同交流.程序分为三部分:1.储存文件路径.文件说明.上传文件个数的一个数据库aaa.mdb,在这里我放在应用目录里mydatabase文件夹里2.上传程序界面 gjimg.asp3.纯ASP上传主程序 khimg.asp 上传文件存放在upload文件夹里+==========================

html 文件上传 要把选择后的文件放到文本框中,怎么放?

问题描述 html 文件上传 要把选择后的文件放到文本框中,怎么放? 我要把按钮后面的文件路径放到问本框中 解决方案 直接给 元素赋值不就好了吗? 解决方案二: 写一个js,当浏览完成后,把浏览的值赋给文本框.挺简单的啊.

win7系统deamweaver cs6无法拖拽文件打开

问题描述 win7系统deamweaver cs6无法拖拽文件打开 win7系统刚装了个 deamweaver cs6 打开以后文件直接拖进去的话没有效果 一般情况不是直接拖进去就是打开吗 现在拖进去没用 有知道怎么解决的吗 麻烦告诉我一下 要不用着很不方便 解决方案 WIN7无法拖拽文件 解决方案二: 可能是安装不完整,重新安装过看一下!

Windows界面编程第七篇 文件拖拽(文件拖放)

本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5128654 转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/8634451 欢迎关注微博:http://weibo.com/MoreWindows   前面已经有六篇文章介绍了Windows界面编程,目录如下: 1. <Windows界面编程第一篇位图背景与位图画刷> 2. <Windows界面编程

拖拽文件获得路径

这里主要用到一个函数 UINT DragQueryFile(          HDROP hDrop,     UINT iFile,     LPTSTR lpszFile,     UINT cch );     hDrop: HDROP标识符,即响应函数中的hDropInfo参数    iFile: 待查询的文件索引号,从0开始.可以同时拖拽多个文件,因此就需要一个索引号来进行区分.如果该参数为                        0xFFFFFFFF,则该函数返回拖拽的文件的

html5-js实现鼠标拖拽div块释放鼠标打开文件

问题描述 js实现鼠标拖拽div块释放鼠标打开文件 左边一列导航栏,右面有个大的div块,想实现在导航栏中拖动div块到中间的div块中.鼠标将目标拖动到div中**释放鼠标打开导航栏的链接**应该怎么写?新手小白在网上找了一些东西 看不懂这是我改后的代码 拖动放到此处 $(document).ready(function(){ $(""#firstpane .menu_body:eq(0)"").show(); $(""#firstpane p

java swing中实现拖拽功能示例_java

java实现拖拽示例 Swing中实现拖拽功能,代码很简单,都有注释,自己看,运行效果如下图: 复制代码 代码如下: package com; import java.awt.*;import java.awt.datatransfer.DataFlavor;import java.awt.dnd.DnDConstants;import java.awt.dnd.DropTarget;import java.awt.dnd.DropTargetAdapter;import java.awt.dn