Java的swing界面拖拽文件至文本框显示文件路径

Swing之拖动篇:将文本中的内容拖动到表中  淘宝精品导航:http://www.nitaomei.com拖动操作的很多地方都有用到,比如我们的用QQ的时候也可以拖动文本信息。下面这个例子是通过重写TransferHandler类来实现控件之间的数据拖动。 TransferHandler类用于处理往返于 Swing 组件的 Transferable 的传输。该 Transferable 用于表示通过往/返于剪贴板的剪切、复制或粘贴操作进 阅读详情
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;

import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.TransferHandler;

/**
 * 拖拽文件至文本框显示文件路径
 */
public class CopyPathToTextField extends JFrame
{
    private static final long serialVersionUID = 1L;
    private JTextField field;
    public CopyPathToTextField(){
        
        this.setTitle("拖拽文件至文本框显示文件路径");
        this.setSize(500, 300);
        this.setLocationRelativeTo(null);
        this.setLayout(null);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        field = new JTextField();
        field.setBounds(50, 50, 300, 30);
        
        field.setTransferHandler(new TransferHandler()
        {
            private static final long serialVersionUID = 1L;
            @Override
            public boolean importData(JComponent comp, Transferable t) {
                try {
                    Object o = t.getTransferData(DataFlavor.javaFileListFlavor);

                    String filepath = o.toString();
                    if (filepath.startsWith("[")) {
                        filepath = filepath.substring(1);
                    }
                    if (filepath.endsWith("]")) {
                        filepath = filepath.substring(0, filepath.length() - 1);
                    }
                    System.out.println(filepath);
                    field.setText(filepath);
                    return true;
                }
                catch (Exception e) {
                    e.printStackTrace();
                }
                return false;
            }
            @Override
            public boolean canImport(JComponent comp, DataFlavor[] flavors) {
                for (int i = 0; i < flavors.length; i++) {
                    if (DataFlavor.javaFileListFlavor.equals(flavors[i])) {
                        return true;
                    }
                }
                return false;
            }
        });
        
        this.add(field);
        this.setVisible(true);
    }
    
    public static void main(String[] args) {
        new CopyPathToTextField();
    }
}

 
运行效果如下图显示:
 
 

Swing拖拽(文件拖入JEditorPane) 这个资源里有两个拖拽功能,一个把文件内容拖入JEditorPane一个是将文件路径拖入swing控件,实现swing对文件的拖拽 立即下载

相关推荐

从波形到代码:手把手调试GaN图腾柱PFC的过零点切换与软启动策略

本文详细解析了GaN图腾柱无桥Boost PFC电路在过零点切换与软启动策略中的调试方法。通过波形分析、代码实现和寄存器配置,提供了解决误开通、震荡波形等问题的实用方案,帮助工程师优化电源设计效率与可靠性。

weixin_30831529的博客 425

java如何实现将文件拖入文本框中并在其显示路径

java如何实现将文件拖入文本框中并在其显示路径 先看结果 代码 代码. import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; impor...

愿时光能缓故人不散 2140

国宇测试盒GH7009 SPI读操作全解析:从接线到代码实现的避坑指南

本文详细解析了国宇GH7009测试盒进行SPI读操作的完整流程与避坑要点。重点阐述了硬件连接中IO2时序控制引脚的关键作用,提供了从接线方案、电源处理到上位机代码实现的实战指南,并针对常见的数据不稳定、特定寄存器读取失败等问题给出了具体解决方案。

dapp9builder的博客 224

java swing获取路径,如何在Swing中使用拖放来获取文件路径?

I have a JTextField in my swing application that holds the file path of a file selected to be used. Currently I have a JFileChooser that is used to populate this value. However, I would like to add th...

weixin_39828715的博客 358

现代 AI Agent 编排技术全景(1)—— 分类体系与四大技术维度

本文介绍基于 LLM 的现代 Agent 分类体系与四大技术维度,形成能够刻画不同 Agent 产品架构特征的分类法

佚失的诗篇 238

【AGC】【serverless】【云函数】云函数常见问题

1、云函数添加了AUTH触发器后,在用户执行注册、销户、登录、登出动作时,云函数的event对象会自动触发返回相应信息。比如我在“层”的压缩包里放了config/config.txt,那么我在云函数里怎么调用这个文件?层的目录是:/dcache/layer,函数的目录是/dcache/layer/func。在云函数里往云数据库里插入数据返回的是180000,这是正常吗?已经按照文档在后台对应的云函数里配置了,所需的AUTH触发器。层的用法和放在函数里的用法是相同的。云函数里的层如何调用?

华为开发者联盟 840

java拖动jpanel_java – 使用TransferHandler拖动JLabel(拖放)

另一个例子:编辑:修复闪烁的光标import java.awt.*;import java.awt.datatransfer.*;import java.awt.dnd.*;import java.awt.event.*;import java.io.*;import java.util.*;import javax.activation.*;import javax.swing.*;import...

weixin_34816303的博客 357

【AI智能体】Coze 搭建个人旅游规划助手实战详解

本文将详细介绍如何使用Coze平台搭建个人旅游规划助手。首先概述了AI智能体如何简化传统复杂任务的开发流程,然后重点介绍了Coze工作流的作用和核心节点类型(包括大模型、插件、知识库等)。通过实际操作演示,从创建智能体到配置多级工作流,逐步实现旅游规划功能:解析用户输入时间地点、查询必玩景点、获取景点详细信息等。该教程展示了如何利用Coze的可视化编排能力,即使非技术人员也能快速构建专业级AI应用。最终呈现的旅游助手可提供天气查询、行程建议等一站式服务。

Hello, New World! 2121

JAVA 文件拖拽

基本思路: 创建一个类extends TransferHandler,重写importData方法,方法内可获得被拖拽的文件,同时重写canImport方法,返回true创建一个JTextArea,调用setTransferHandler方法,把上面类的对象传进去 实例代码: import java.awt.datatransfer.DataFlavor; import java.a

-. - 1338

MATLAB R2023a下载链接及软件安装教程

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。a是上半年,b是下半年版本,但是有些小弱们总是觉得只要是b一定功能多,这不一定的,同年版本b比a可能稍微全点,不同年的,比如21b,22a,肯定22a要比21b版本高功能多了。10、选择目标文件夹,默认的是C盘,想修改的话可以单击【浏览】,然后单击【下一步】

qq_53545309的博客 5167

Simulink开发项1000例实战专栏--实例52:基于Simulink开发一个超导磁储能控制系统,实现对SMES系统的精确控制和优化

需求分析超导磁储能系统(Superconducting Magnetic Energy Storage, SMES)是一种利用超导线圈储存和释放电能的高效储能技术。SMES系统具有响应速度快、能量密度高、循环寿命长等优点,广泛应用于电力系统的调峰填谷、频率调节、电压稳定以及紧急备用电源等领域。本项目将基于Simulink平台,开发一个完整的超导磁储能控制系统,实现对SMES系统的精确控制和优化。我们将详细讲解如何设计和实现该系统,并结合实际应用案例进行说明。

xiaoheshang_123的博客 237

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

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...

weixin_33701632的博客 984

【华为OD机试真题】18、喊7的次数重排 | 机试真题+思路参考+代码解析(C++、Java、Py)

题目描述 >喊7是一个传统的聚会游戏,N个人围成一圈,按顺时针从1到N编号。   编号为1的人从1开始喊数,下一个人喊的数字为上一个人的数字加1,但是当将要喊出来的数字是7的倍数或者数字本身含有7的话,不能把这个数字直接喊出来,而是要喊”过”。   假定玩这个游戏的N个人都没有失误地在正确的时机喊了”过”,当喊到数字K时,可以统计每个人喊”过”的次数。   现给定一个长度为N的数组,存储了打乱顺序的每个人喊”过”的次数,请把它还原成正确的顺序,即数组的第i个元素存储编号i的人喊

KJ.JK 4168

java 拖拽目录_java-swing文件拖拽路径识别

文件拖拽识别是非常常用也非常实用的一个小功能日常的应用如果需要操作到文件,每一次都用浏览文件来添加的话是非常麻烦的,而下面这种方法则可以用文件的拖拽来获取路径主要是用到了DropTargetAdapter类,源代码如下:import java.awt.event.*;import java.awt.dnd.*;import java.awt.datatransfer.*;import javax....

weixin_42119281的博客 727

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

java 在jtextarea(文本框)里显示拖动进来文件的路径

最近做一个文件传输的小项目,遇到这么个问题,在textarea中拖进来的文件的路径怎么显示, 网上找了N个代码,找了一个在文本框里能显示拖进来文件的内容的,却没找到能显示文件路径的, 其实代码改那么几行就可以,但是我还菜,不知道怎么改, 最终把两个程序代码合并起来,这样就可以显示拖进来文件的路径了,   废话不多说,直接上代码 import   java.awt.BorderLayou

2697

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java gui拖拽_Java Swing GUI文件拖拽

为了方便,有时我们需要直接将本地文件或字符或图片直接拖拽到图形上,让组件自动打开拖拽的文件。基于这种思想,我写了如下代码实现这个拖拽监听的功能。1.UI源码package ibees.desktop;import javax.swing.BorderFactory;import javax.swing.JFrame;import javax.swing.JPanel;import javax.sw...

weixin_39526872的博客 747

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java swing 拖拽文件夹_Java如何将文件拖放到Swing窗口

经过测试是没有问题的。代码:packagecom.test.ui;importjava.awt.datatransfer.DataFlavor;importjava.awt.datatransfer.UnsupportedFlavorException;importjava.awt.dnd.DnDConstants;importjava.awt.dnd.DropTarget;import...

weixin_30667831的博客 802

Atitit。D&D drag&drop拖拽功能c#.net java swing的对比与实现总结

Atitit。D&D drag&drop拖拽功能c#.net java swing的对比与实现总结   1. 实现一个D&D操作一般包括三个步骤: 1 2. .net黑头的拖曳机制.必须有DragEnter事件(单独写DragDrop事件是不会具有拖拽功能的) 2 3. ---java黑头的拖曳..必须有DragEnter事件(单独写 Drop事件是不会具有拖拽功能的) 2 4. 代码

attilax的专栏 1794

java swing 拖拽文件夹_Java Swing 鼠标拖放文件 代码1

参考了http://www.javaworld.com/javaworld/javatips/jw-javatip97.html自己改写了一下用于简单的实现文件拖入,红色的部分为比较关键的代码,主要是用netbeans生成的。经过测试是没有问题的。代码:/** NewJFrame.java** Created on 2008年2月2日, 上午11:06*/package yyplayer;impo...

weixin_35867979的博客 434

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.dnd.DropTarg...

weixin_42197110的博客 470

1小时学会通过Java Swing Design设计java图形化

一般大一结束的时候需要做一个类似一下内容的javaswing项目,故而咱们的学习目标如下:其中设计到的控件:文本框、输入框、按钮、表格,数据库是JDBC绑定数据集类型就行。目录环境与工具:学习目标:1、项目创建2、绝对位置布局Absolute layout​3、工具栏简述:4、常用控件简述5、JDBCMySQLJDCB_Demo封装模型:DAO层数据:UI层添加数据:使用eclipse直接创建一个java的空项目即可,唯一要注意的就是创建【java】的时候不是点击【class】而是创建【JFra...

红目香薰 3290

拖拽文件获取文件路径

该文章转载自: 拖曳文件获取文件路径     //拖拽获取文件路径 package test; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.dnd.DnDConstants; import java.awt.dnd.Dro

F781492604的专栏 3451

swing之拖拽功能DragDemo

Swing的前段开发,有时候为了用户方便,加一些拖拽功能会添色不少 本demo源码是模仿FlashXP的拖拽功能。拖拽目录或文件,支持多文件选择拖拽,进度条显示文件拷贝进度,显示百分数、速度、时间等详细信息 该demo的代码基本上是我写swing的风格,里面也用了不少设计模式 ...

茶花漫道 379

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.Drop...

weixin_31361715的博客 132

java swing拖放文字,将文件路径拖放到Java Swing JTextField

Using this question, I created the class below, which handles drag and drop of files to a JTextField. The point of the application is to be able to drag a file into the text field, and have the text ...

weixin_32011209的博客 323

Java-Swing实现520表白神器

我们首先看一下实现的效果: 这是打包后的exe文件执行的效果,但是在编辑器中运行的效果和exe文件运行的效果还是有点出入的。 比如打包以后窗口生成的位置有所变化,字体有些许模糊了,视觉上来看按钮变大了,颜色也不鲜艳了。 案例源码: package frame; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.FileInputStream; public class MyFrame ext

发光吖的博客 2227
上一篇: 在CentOS7中安装JDK1.8并配置环境变量
下一篇: 【JVM学习笔记】Java虚拟机内存管理
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值