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实现拖拽上传,直接可以在项目中使用!!
java实现拖拽式文件上传,可以直接导入myeclipse运行。
利用java的dnd实现拖拽图片的效果,简单实用
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
生成java代码时,按Run按钮即可,会生成两个文件,一个是.java文件,另一个是.xml文件,是用来下一次继续编辑布局使用,具体使用方法是--右边的工具栏的菜单栏那,File---open---找到.xml文件即可 其实程序有很多可以...
相信大家在开发的过程中都会遇到在线预览功能,有没有想过如何通过java来实现excel、word、txt、ppt等办公文件在线预览功能?今天我们就来解决这一疑问! 其实,网上还是有些公司对这一功能提供了收费服务。那么,...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
用java的NIO技术编写的 ...2. 拖拽文件可以实现文件传输功能,也可以是文件夹 3. 启动时可以选择server端或client端启动 4. 本人原创,学习NIO和java的网络通信一定会不错 5. 下载下来可以直接导致eclipse,然后运行
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
本篇文章主要介绍了Java实现拖拽文件上传dropzone.js的简单使用示例代码,具有一定的参考价值,有兴趣的可以了解一下
工程文件分ui部分和mainAPP主程序代码部分。代码全可运行,主函数代码package scu.picture.app; import scu.picture.ui.PictureMainFrame; //启动游戏的类 public class MainApp { public static void main...
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技术可以将数据从一个组件拖拽到另一个组件中,实现数据的传输和交互操作。 Drag and Drop技术的实现可以分为两种方法:...
实现文件的拖拽功能 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....
28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程...
文件包含源程序,实验报告和使用说明. 程序可以实现鼠标拖动盘子,自动演示,选择盘子个数等功能. 这里的源程序是把从网上下载的一段源程序做了一些修改. 希望对大家有所帮助.
java模拟资源管理器,实现文件图标化展示,实现文件的打开,删除,上传,下载等功能。html5实现文件拖拽上传,将文件通过拖拽到浏览器的方式上传到服务器。。。。。