`
xblia
  • 浏览: 82638 次
  • 性别: 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实现拖拽上传

    总之,拖拽上传是一种提升用户交互体验的有效方式,通过HTML5的拖放API和Java的文件上传处理,可以轻松实现这一功能。在实现过程中,注意前端与后端的协同工作,确保文件安全、高效地上传至服务器。

    java实现拖拽式文件上传

    在Java编程环境中,实现拖拽式文件上传是一项实用的功能,尤其在现代Web应用程序中,它提供了用户友好的交互体验。本项目是专为在MyEclipse集成开发环境中运行设计的,使得开发者能够快速理解和实现这一功能。以下是...

    JAVA反编译软件(可将class文件反编译为java文件)

    - 使用图形界面工具如JD-GUI,直接拖拽`.class`文件到界面中即可查看源代码。 - 使用命令行工具如JAD,通常需要编写脚本进行批量反编译,例如: ```bash jad -o output.java input.class ``` 这将把`input....

    Java 拖拽文件到文本框

    在这个场景中,标题"Java 拖拽文件到文本框"指的是实现用户能够通过拖放操作将本地文件直接放入文本框(JTextArea或JTextPane)的功能。这种功能在许多应用中都很有用,比如文件上传、代码编辑器等。 首先,为了...

    web中拖拽排序和java后台交互实现方法示例

    Web 中拖拽排序和 Java 后台交互实现方法示例 本文主要介绍了 Web 中拖拽排序和 Java 后台交互实现的相关知识点,通过示例代码详细介绍了如何实现拖拽排序和 Java 后台交互。 一、业务需求 在 Web 中,为了实现...

    Java图片拖动功能的实现.rar

    在Java编程中,实现图片拖动功能是一项基本的GUI(图形用户界面)操作,它能够增强用户的交互体验。本文将详细讲解如何通过Java实现图片在窗体上的拖动功能,涉及的主要知识点包括Java AWT和Swing库中的鼠标事件处理...

    java窗体 实现图片拖动 实例代码

    本实例代码主要关注如何在Java窗体中实现图片的拖动功能。我们将探讨Java AWT和Swing库中的相关API,以及如何通过`DragPictureDemo.java`这个示例代码来实现这个功能。 首先,Java AWT(Abstract Window Toolkit)...

    .class文件反编译工具。 .class文件转java文件

    在Java开发过程中,类文件反编译工具除了用于查看源代码外,还常用于学习开源库的实现、调试二进制库、分析恶意软件等场景。了解并掌握这类工具的使用,有助于提升开发者的问题定位和分析能力。 总的来说,JD-GUI...

    Swing拖拽(文件拖入JEditorPane)

    以上就是关于"Swing拖拽(文件拖入JEditorPane)"这一主题的主要知识点,包括Swing拖放机制、JEditorPane的自定义拖放处理以及文件路径拖入Swing控件的实现。通过理解并实践这些概念,你可以构建更加交互性强的Java...

    Java swing鼠标拖拽功能源码

    在Java Swing库中,实现鼠标拖拽功能是构建桌面应用程序时常见的需求,它涉及到事件处理、组件交互以及图形用户界面(GUI)的设计。本源码着重于如何在Swing组件上实现鼠标拖放操作,这对于创建自定义组件或增强已有...

    拖拽实现源代码DragPictrue

    在Java编程语言中,Drag and Drop(DnD)功能是一项强大的特性,允许用户通过鼠标操作在界面上移动数据,例如文件、文本或图像。在这个案例中,我们关注的是如何利用Java的DnD功能来实现图片的拖放效果。我们将深入...

    前端WebUploader后端Java大文件分片上传

    本项目涉及的技术主题是“前端WebUploader后端Java大文件分片上传”,这是一项利用前端JavaScript库WebUploader和后端Java实现的高效、可靠的大文件分片上传策略。以下将详细介绍这一技术实现的关键知识点。 1. **...

    java实现360悬浮球

    本项目“java实现360悬浮球”利用Swing创建了一个可以在屏幕任意位置移动并具有360度旋转效果的悬浮窗口,同时还实现了加入系统托盘和退出功能。下面我们将详细探讨这个项目涉及的关键知识点。 1. **Java Swing**: ...

    java拖动对象程序

    `源码`可能包含了实现拖放功能的Java文件,这些文件可能包含自定义的`TransferHandler`和GUI组件的定义。而`类`可能是其他辅助类或自定义组件的类文件。 学习这个程序,你将深入理解Java Swing GUI的构建,以及如何...

    JAVA -jquery 文件上传带进度条

    在Java和jQuery的世界里,实现文件上传带进度条的功能是一项常见的需求,特别是在用户交互体验日益重要的今天。这个功能可以提供给用户一个实时反馈,让他们了解文件上传的状态,从而提升用户体验。接下来,我们将...

    Ext相册实现文件拖拽,实时上传进度,本地预览

    Drag and Drop API则让开发者可以轻松实现元素的拖放操作,这对于实现文件拖拽上传至关重要。 **文件拖拽上传** 1. **监听拖放事件**:使用HTML5的`dragenter`, `dragleave`, `dragover`和`drop`事件,可以捕获文件...

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

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

    Java鼠标拖拽功能.zip

    这个"Java鼠标拖拽功能.zip"文件可能包含了演示或解释如何在Java中实现这一功能的相关代码和文档。让我们详细探讨一下Java中实现鼠标拖拽功能的核心知识点。 首先,我们需要了解Java中的事件处理机制。在Java Swing...

    java实现在JFrame窗口进行图片拖拽

    下面将详细介绍如何利用Java来实现在JFrame窗口中进行图片的拖拽操作。 首先,我们需要了解Java Swing组件。`JFrame`是Java Swing库中的一个核心组件,它代表了一个窗口应用程序的基础框架。在`JFrame`上,我们可以...

    Java实现拖动滑块图片验证

    在Java编程领域,拖动滑块图片验证是一种常见的安全机制,用于防止自动化脚本或...在提供的"app"文件中,可能包含了实现这个功能的Java代码示例、模板或素材,你可以进一步研究这些内容来加深理解并应用于自己的项目。

Global site tag (gtag.js) - Google Analytics