`
xblia
  • 浏览: 80483 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java 文件拖拽实现

 
阅读更多

package ibees.desktop;  
  
import java.awt.datatransfer.DataFlavor;  
import java.awt.datatransfer.Transferable;  
import java.awt.datatransfer.UnsupportedFlavorException;  
import java.awt.dnd.DnDConstants;  
import java.awt.dnd.DropTarget;  
import java.awt.dnd.DropTargetDragEvent;  
import java.awt.dnd.DropTargetDropEvent;  
import java.awt.dnd.DropTargetEvent;  
import java.awt.dnd.DropTargetListener;  
import java.io.File;  
import java.io.IOException;  
import java.util.List;  
import javax.swing.JTextArea;  
  
/** 
 * @author Administrator 
 */  
public class DropDragSupportTextArea extends JTextArea implements DropTargetListener{  
    private DropTarget dropTarget;  
  
    public DropDragSupportTextArea() {  
        //注册DropTarget,并将它与组件相连,处理哪个组件的相连  
        //即连通组件(第一个this)和Listener(第二个this)  
        dropTarget = new DropTarget(this,DnDConstants.ACTION_COPY_OR_MOVE, this, true);  
    }  
      
    /** 
     * 拖入文件或字符串,这里只说明能拖拽,并未打开文件并显示到文本区域中 
     */  
    @Override
    public void dragEnter(DropTargetDragEvent dtde) {  
        DataFlavor[] dataFlavors = dtde.getCurrentDataFlavors();  
        if(dataFlavors[0].match(DataFlavor.javaFileListFlavor)){  
            try {  
                Transferable tr = dtde.getTransferable();  
                Object obj = tr.getTransferData(DataFlavor.javaFileListFlavor);  
                List<File> files = (List<File>)obj;  
                for(int i = 0; i < files.size(); i++){  
                    append(files.get(i).getAbsolutePath()+"\r\n");  
                }  
            } catch (UnsupportedFlavorException ex) {  
  
            } catch (IOException ex) {  
  
            }  
        }  
    }  
  
    public void dragOver(DropTargetDragEvent dtde) {  
        
    }  
  
    public void dropActionChanged(DropTargetDragEvent dtde) {  
         
    }  
  
    public void dragExit(DropTargetEvent dte) {  
          
    }  
  
    public void drop(DropTargetDropEvent dtde) {  
          
    }  
  
}  
 
分享到:
评论

相关推荐

    java实现拖拽上传

    java+HTML5实现拖拽上传,直接可以在项目中使用!!

    java实现拖拽式文件上传

    java实现拖拽式文件上传,可以直接导入myeclipse运行。

    拖拽实现源代码DragPictrue

    利用java的dnd实现拖拽图片的效果,简单实用

    java源码包---java 源码 大量 实例

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java拖拽控件生成代码.zip

    生成java代码时,按Run按钮即可,会生成两个文件,一个是.java文件,另一个是.xml文件,是用来下一次继续编辑布局使用,具体使用方法是--右边的工具栏的菜单栏那,File---open---找到.xml文件即可 其实程序有很多可以...

    Java 实现excel、word、txt、ppt等办公文件在线预览功能

    相信大家在开发的过程中都会遇到在线预览功能,有没有想过如何通过java来实现excel、word、txt、ppt等办公文件在线预览功能?今天我们就来解决这一疑问! 其实,网上还是有些公司对这一功能提供了收费服务。那么,...

    java源码包4

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包3

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java聊天和文件传输实例

    用java的NIO技术编写的 ...2. 拖拽文件可以实现文件传输功能,也可以是文件夹 3. 启动时可以选择server端或client端启动 4. 本人原创,学习NIO和java的网络通信一定会不错 5. 下载下来可以直接导致eclipse,然后运行

    java源码包2

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目源代码

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

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

    本篇文章主要介绍了Java实现拖拽文件上传dropzone.js的简单使用示例代码,具有一定的参考价值,有兴趣的可以了解一下

    Java实现拼图游戏

    工程文件分ui部分和mainAPP主程序代码部分。代码全可运行,主函数代码package scu.picture.app; import scu.picture.ui.PictureMainFrame; //启动游戏的类 public class MainApp { public static void main...

    记事本的设计与实现Java版实验报告

    3.8拖拽打开文件 15 4类示图 18 5结束语 18 6参考文献 18 7附录(源代码) 18 文件一(主类):NoteBook.java 18 文件二:MyNote.java 19 文件三:ShowDialog.java 48 文件四:FontDialog.java 50 文件五:Help.java...

    Java中的Drag and Drop拖拽技术

    Java中的Drag and Drop拖拽技术是指在Java应用程序中,实现拖拽操作的技术。Drag and Drop技术可以将数据从一个组件拖拽到另一个组件中,实现数据的传输和交互操作。 Drag and Drop技术的实现可以分为两种方法:...

    swing文件拖拽

    实现文件的拖拽功能 import java.awt.AlphaComposite; import java.awt.Component; import java.awt.Graphics2D; import java.awt.Point; import java.awt.Rectangle; import java.awt.Toolkit; import java.awt....

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程...

    汉诺塔 Java版(可实现鼠标拖动和自动演示)

    文件包含源程序,实验报告和使用说明. 程序可以实现鼠标拖动盘子,自动演示,选择盘子个数等功能. 这里的源程序是把从网上下载的一段源程序做了一些修改. 希望对大家有所帮助.

    文件图标化展示拖拽上传.zip

    java模拟资源管理器,实现文件图标化展示,实现文件的打开,删除,上传,下载等功能。html5实现文件拖拽上传,将文件通过拖拽到浏览器的方式上传到服务器。。。。。

Global site tag (gtag.js) - Google Analytics