摆动拖放文件可传输吗?

2024-01-01

我想从我的应用程序拖放到系统文件夹中,以便当我放置一个项目时,它会显示为一个代表我拖动的对象的新文件。

我应该使用什么 DataFlavor?


我自己想出来了。你只需要使用DataFlavor.javaFileListFlavor http://download.oracle.com/javase/1.4.2/docs/api/java/awt/datatransfer/DataFlavor.html#javaFileListFlavor并在某处创建一个临时文件,一切正常。这对我有用:

import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;

public class FileTransferable implements Transferable 
{
    final private List<File> files;
    final private DataFlavor[] flavors;

    /**
     * A drag-and-drop object for transfering a file.
     * @param file file to transfer -- this file should already exist,
     * otherwise it may not be accepted by drag targets.
     */
    public FileTransferable(Collection<File> files) {
        this.files = Collections.unmodifiableList(
                new ArrayList<File>(files));
        this.flavors = new DataFlavor[] 
                { DataFlavor.javaFileListFlavor };
    }

    static FileTransferable createFileInTempDirectory(String filename) 
        throws IOException
    {
        File dir = new File(System.getProperty("java.io.tmpdir"));
        File f = new File(dir, filename);
        f.createNewFile();
        return new FileTransferable(Collections.singletonList(f));
    }

    public List<File> getFiles() { return this.files; }

    @Override public Object getTransferData(DataFlavor flavor)
            throws UnsupportedFlavorException, IOException 
    {
        if (isDataFlavorSupported(flavor))
            return this.files;
        else
            return null;
    }

    @Override public DataFlavor[] getTransferDataFlavors() {
        return this.flavors;
    }

    @Override public boolean isDataFlavorSupported(DataFlavor flavor) {
        return DataFlavor.javaFileListFlavor.equals(flavor);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

摆动拖放文件可传输吗? 的相关文章

  • 从通知中打开文件

    我从服务器下载一个文件 对于此操作 我显示了进度不确定的通知 下载文件后 我想通过单击通知来打开它 我获得了扩展名并尝试使用以下命令打开它intent像这样 public static Intent openFile Context con
  • Java 在组件中心之间绘制一条线

    当用户单击一个标签 在另一个标签上拖动并释放时 我试图在两个 JLabel 的中心之间绘制一条线 无论窗口大小如何 都应该有效 但线条不在中心 如何解决 以下示例有效 但线条似乎被 JFrame 的边界偏移 因此它们不是中心 我不想尝试从点
  • 添加可滚动 JTextArea (Java)

    我正在尝试向 JTextArea 添加滚动条 有人可以告诉我下面的代码我做错了什么吗 JFrame frame new JFrame Test JTextArea textArea new JTextArea Test JScrollPan
  • 对 os.listdir 文件进行排序 Python

    如果已下载数年的数据 这些数据存储在具有以下命名约定的文件中 year day dat 例如 名为 2014 1 dat 的文件包含 2014 年 1 月 1 日的数据 我需要按天排序读取这些数据文件 2014 1 dat 2014 2 d
  • Jframe 内有 2 个 Jdialogs 的 setModal 问题

    当我设置第一个选项时 我遇到了问题JDialog模态 第二个非模态 这是我正在尝试实现的功能 单击 测试对话框 按钮 一个JDialog有名字自定义对话框 主要的将会打开 如果单击 是 选项自定义对话框主 其他JDialog named 自
  • C++:获取器和设置器?

    我正在尝试编写一些代码来为以下数据的 ID 号 名字 姓氏 期中成绩和期末成绩创建 getter 和 setter 这些数据位于我正在编写的班级的文本文件中 10601 ANDRES HYUN 88 91 94 94 89 84 94 84
  • 是否可以从外部文件运行 openoffice 宏?

    我想从外部文件运行 OpenOffice 宏 喜欢 vlad leo soffice macro home vlad q vbs 并不是真正的答案 只是一个评论 以便提出这个问题 并希望得到答案 这可能与必须显式设置宏的权限有关 例如 编辑
  • 拦截jTable选择改变事件

    I found 这个论坛主题 http www javakb com Uwe Forum aspx java programmer 2407 Row non selectable in a JTable这建议重写 ListSelection
  • JMenu 中的文本居中

    好吧 我一直在网上寻找有关此问题的帮助 但我尝试的任何方法似乎都不起作用 我想让所有菜单文本都集中在菜单按钮上 当我使用setHorizontalTextPosition JMenu CENTER 没有变化 事实上 无论我使用什么常量 菜单
  • 使用按钮作为列表的渲染器

    我想使用一个更复杂的渲染器 其中包含列表的多个组件 更准确地说 类似于this https stackoverflow com questions 10840498 java swing 1 6 textinput like firefox
  • 如何在golang中创建一个充满“000000...”数据的10MB文件?

    我打算在日志或磁盘队列等系统中使用 fdatasync 首先是在 ext4 等文件系统中创建一个带有 000000 的 10MB 文件 但我不知道如何正确地做到这一点 jnml fsc r630 src tmp SO 16797380 ls
  • emacs 是否有类似 vims 的 NERDtree 之类的东西

    对于 vim 有一个名为 NERDtree 的文件系统浏览器 https github com scrooloose nerdtree https github com scrooloose nerdtree Emacs 确实存在替代或更好
  • JTable 和 JScrollpane 大小的问题

    我有一个JScrollPane with a JTable在里面 在里面JTable我最初有 3 行 稍后添加行 默认JTable我的 3 行很难看 因为JScrollPane calls getPreferredScrollableVie
  • 监听文件夹和文件(更改)

    可以直接在 PHP 或 Node 上监听文件夹和文件的更改 通过事件 还是我需要创建自己的方法来执行此操作 Example 我需要听文件夹 user 如果我将一些文件添加到该目录中 PHP 或 Node 会收到信息并运行PathEvent
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • 使用 Spring 进行 Swing GUI 开发

    是否有任何使用 Spring 最好是 v3 构建 Swing GUI 应用程序的不错的教程 这是可能的 但如果您想使用 GUI 构建器 则无法通过 spring 初始化任何 GUI 组合 所以你不能使用依赖注入之类的东西 Spring 管理
  • 如何重新加载 JPanel?

    我是一个java新手 我需要知道如何reload a JPanel 我延长了JPanel类并创建了一个将在cardlayout在一个小程序中 我想要这个面板reload refresh用户点击后button在此面板中 我尝试包括revali
  • 在 JTable 中移动行

    我使用 MVC 模式 并且有一个如下所示的 JTable List
  • 通过 Python 循环浏览网络上的目录并显示其内容(文件和其他目录)

    同样的道理在Python中处理从源目录到目标目录的一组文件 https stackoverflow com questions 2593399 process a set of files from a source directory t
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex

随机推荐

  • 在多面 ggplot 中自动勾选最大值和最小值

    我试图在多面 ggplot 中标记每个 x 轴的最大值和最小值 我有几个具有不同 x 尺度和相同 y 尺度的面 并且 x 轴刻度标签相互重叠 我正在寻找一种方法来标记每个方面的最小值和最大值 而不是手动确定每个方面 x 轴的限制和中断 使用
  • 如何在 java 正则表达式中转义美元和大括号(即 ${title})?

    即你如何做到这一点 String string Sample string with title to be inserted string replaceAll title title 以下所有情况都会导致错误 string replac
  • 用最少的代码字符创建、排序和打印 100 个随机整数的列表

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 您可以编写最少的代码来创建 排序 升序 和打印 100 个随机正整数的列表 我所说的最少代码量
  • 如何减少 TensorFlow 循环中的内存消耗?

    我在 TensorFlow 中有一个循环 如下所示 with tf device gpu 1 losses for target output in zip targets lstm outputs logits tf matmul W o
  • 输入触发按键事件两次

    这个问题之前已经被问过 回答过 大部分 但是我尝试了三件事来阻止事件冒泡 但没有任何效果 return false e stopPropagation e preventDefault 返回 false 应该照顾其他两个 对吗 这是 HTM
  • SWXMLHash 解析数据对象

    我尝试与SWXMLHash为了模拟从网站下载的数据进行解析 我在 Playground 中创建了一个包含数据的文件 我收到的回复是URLSessionManager数据看起来类似于 3c3f786d 6c207665 7273696f 6e
  • Gmail API 返回 403 错误代码和“<用户电子邮件> 的委派被拒绝”

    检索邮件时 一个域的 Gmail API 失败并出现以下错误 com google api client googleapis json GoogleJsonResponseException 403 OK code 403 errors
  • 使用 Objective c 上传视频

    我现在要构建一个非常复杂 至少对我来说 的应用程序 基本应用程序如下 一个带有两个选项卡的选项卡栏应用程序 一个用于本地视频 另一个用于流媒体视频 在这个阶段很简单 但现在我必须将视频 从 iPhone 图库中获取或由用户拍摄 上传到服务器
  • 使用node或express返回json格式的正确方法

    我的问题实际上是复制自使用 Node 或 Express 返回 JSON 的正确方法 https stackoverflow com questions 19696240 proper way to return json using no
  • 如何更改 ImageView 的图像? [复制]

    这个问题在这里已经有答案了 我刚刚开始学习android 我不知道如何改变一个人的形象ImageView 即它有一些在布局中设置的图像 但我想通过编码更改该图像我应该怎么做 这是 xml 文件
  • 带偏移量的 Linux 头/尾

    Linux 中有没有一种方法可以询问 Head 或 Tail 但需要忽略额外的记录偏移量 例如 如果文件example lst包含以下内容 row01 row02 row03 row04 row05 我用head n3 example ls
  • 在页面加载时使 div 晃动?

    有没有办法让 div 框在页面加载时抖动 就像也许只有一次或两次 Update 在这个 URL 上 我的页面加载仍然无法正常工作 我做错了什么 http tinyurl com 79azbav http tinyurl com 79azba
  • React 渲染组件数组

    快问 有人知道如何渲染组件数组吗 试图让开发人员更容易地更改特定组件 它就像一个仪表板 组件列表文件 import React from react export default
  • React hooks 常量的 useMemo 与 useState

    使用 React hooks 定义计算 初始化 常量可以通过两种功能相同的方式执行 我不想讨论这个用例 但足以说明 在某些情况下 可以从初始 props 或状态中派生出一个常量值 而这些值预计不会改变 想想路由数据 绑定调度等 First
  • 无法快速解码 json

    这是http客户端 打印字符串时响应是正确的 但在尝试解码时显示转换错误 let task URLSession shared dataTask with request data response error in Check for E
  • 在 rmarkdown pdf 输出中包装比例表的列名称的有效方法

    我正在使用提问者包制作行比例的加权表 当列名太长时 我想将它们换行 因为我正在制作数百个表 所以该解决方案需要适用于具有不同列数的表 我还想避免将所有列设置为特定宽度 理想情况下 短列名称将保持其正常宽度 而超过指定最大长度的名称将被换行
  • 如何将 8 个小圆圈围绕一个中心大圆圈对齐,如附图所示?

    I have to do this layout 我试图使用RelativeLayout和layout toRightOf layout below等来对齐视图 但我取得的最好成绩是 以下是 xml
  • 将多张地图组合/合并为一张地图

    如何将 dart 中的 2 个或更多地图组合 合并为 1 个地图 例如我有类似的东西 var firstMap 1 2 var secondMap 1 2 var thirdMap 1 2 I want var finalMap 1 2 1
  • 如何在不使用CreateObject的情况下打开excel并获取工作簿

    由于讨论的几个原因here https stackoverflow com questions 25022266 opening an excel file manually allows formulas to run opening a
  • 摆动拖放文件可传输吗?

    我想从我的应用程序拖放到系统文件夹中 以便当我放置一个项目时 它会显示为一个代表我拖动的对象的新文件 我应该使用什么 DataFlavor 我自己想出来了 你只需要使用DataFlavor javaFileListFlavor http d