`

Java 拖拽文件到文本框

    博客分类:
  • Java
阅读更多

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

先看一个例子:

 

 

 

核心代码:

/***
	 * 拖拽文件到文本框
	 * @param component
	 */
	public void drag(final Component component)// 定义的拖拽方法
	{
		// panel表示要接受拖拽的控件
		new DropTarget(component, DnDConstants.ACTION_COPY_OR_MOVE,
				new DropTargetAdapter() {
					@Override
					public void drop(DropTargetDropEvent dtde)// 重写适配器的drop方法
					{
						try {
							if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor))// 如果拖入的文件格式受支持
							{
								dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);// 接收拖拽来的数据
								List<File> list = (List<File>) (dtde
										.getTransferable()
										.getTransferData(DataFlavor.javaFileListFlavor));
//								String temp = "";
//								for (File file : list)
//									temp += file.getAbsolutePath() + ";\n";
//								JOptionPane.showMessageDialog(null, temp);
								dragResponse(list,component);
								dtde.dropComplete(true);// 指示拖拽操作已完成
							} else {
								dtde.rejectDrop();// 否则拒绝拖拽来的数据
							}
						} catch (Exception e) {
							e.printStackTrace();
						}
					}
				});
	}

/***
	 * 默认实现
	 */
	@Override
	protected void dragResponse(List<File> list,Component component) {
		String filePath=list.get(0).getAbsolutePath();
		if(component instanceof  JTextComponent){
			JTextComponent text=(JTextComponent)component;
			//把文本框的内容设置为拖拽文件的全路径
			text.setText(filePath);
		}
	}

 调用:

 

 

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

 项目源代码:见附件(divideFile.zip)

项目依赖的jar包见附件(io0007-find_progess-0.0.8.5-SNAPSHOT.jar)

 

  • 大小: 12.4 KB
  • 大小: 11 KB
  • 大小: 8.5 KB
  • 大小: 18.7 KB
  • 大小: 64 KB
分享到:
评论

相关推荐

    Java Swing中的可拖动组件

    Java Swing 是一个用于构建桌面应用程序的 Java 库,它提供了丰富的用户界面组件,如按钮、文本框、菜单等。在Swing中实现可拖动组件是创建交互式和直观应用程序的关键技术之一,尤其适用于开发像可视化编辑器或...

    java拖拽控件生成代码.zip

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

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

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java swing中实现拖拽功能示例

    在Java Swing中,拖放(Drag and Drop, DnD)功能是一种用户界面交互方式,允许用户通过鼠标操作将一个对象从一处移动到另一处。这个功能在许多应用程序中非常常见,例如文件管理器、电子邮件客户端等。在给定的示例...

    JAVA文件阅读器代码

    在Java编程领域,开发一个文件阅读器是一项常见的任务,它能帮助用户查看和处理各种类型的文本文件。这个名为“JAVA文件阅读器代码”的项目显然旨在提供一个基础但功能丰富的文件查看体验,包括字体大小和颜色的调整...

    java源码包3

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java源码包2

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java ireport jar包部署,引用,与ireport文件调用

    - 创建JRXML文件:在iReport设计环境中,可以拖拽字段、文本框、图表等元素,定义报表布局和样式。保存的文件就是JRXML。 - 动态数据源:JRXML文件可以使用参数、查询和子报表来处理动态数据。在Java代码中,通过...

    悬浮View,可拖动,放手后自动吸附到屏幕边上。

    在Android开发中,创建一个可拖动并能自动吸附到屏幕边缘的悬浮View是一项常见的需求,这通常用于实现类似桌面小部件或者浮动工具栏的功能。本文将深入探讨如何实现这样的功能,主要涉及Android Java编程语言以及...

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

    Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...

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

    Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...

    Java创建和填充PDF表单域方法

    请注意,为了使用Free Spire.PDF for Java库,你需要将对应的jar文件导入到你的Java项目中,通常是在IDE的类路径设置中添加这些库。 通过以上方法,开发者可以创建包含各种表单域的PDF文档,并根据需要填充数据。这...

    java源码包4

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

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

    Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...

    拼图游戏Java程序所写

    在Java项目中,通常会有一个或多个源代码文件夹(如src),包含了.java源代码文件;资源文件夹(如res)存放图片、音频等非代码资源;还有可能包括配置文件、README文档等。这个单一的文件名可能代表了一个打包好的...

    画图工具JAVA源代码

    总结来说,这个"画图工具JAVA源代码"项目涵盖了Java基础、GUI编程、事件处理、Java 2D绘图以及文件I/O等多方面的知识。通过学习和研究这个项目,开发者不仅可以提升Java编程技能,还能了解如何创建一个实际的图形...

    java 实现qq截图效果的截图jar,并直接全局热键

    本项目提供了一个名为"ScreenShot"的jar文件,该文件包含了一个实现这一功能的Java程序。为了更好地理解并使用这个jar,我们将详细探讨以下几个关键知识点: 1. **Java图形用户界面(GUI)**: Java提供了丰富的...

    java 绘图板 java源代码

    Java绘图板是一款基于Java语言开发的...总的来说,这个Java绘图板项目涵盖了Java GUI编程的基本概念,包括组件使用、图形绘制、事件处理、文件操作等多个方面,对于深入理解Java图形用户界面开发具有很高的学习价值。

    毕设参考——基于Java的模拟写字板的设计与实现

    【标题】"基于Java的模拟写字板的设计与实现"是一个典型的软件开发项目,它涉及到的主要知识点包括Java编程语言、图形用户界面(GUI)设计、事件处理以及可能的数据存储与管理。这个项目为学习Java的开发者提供了一...

Global site tag (gtag.js) - Google Analytics