【问题标题】:Drop into Java program window拖放到 Java 程序窗口
【发布时间】:2014-11-20 21:36:02
【问题描述】:

我有一个问题,不知道从哪里开始。我想将文件(仅 .zip)从 Windows 中的任何位置放入 Swing 应用程序(放入 JList)。我怎样才能做到这一点?

在列表中我将只显示绝对路径,文件可能在数组或类似的东西中。 Java 1.6

【问题讨论】:

  • Google Java Swing 拖放,并准备对该主题进行大量阅读/研究,因为它的使用方法并不完全简单。
  • 对于exampleexampleexample

标签: java swing drag-and-drop jlist


【解决方案1】:

您缺少的关键字是TransferSupport

https://docs.oracle.com/javase/tutorial/uiswing/dnd/transfersupport.html

https://docs.oracle.com/javase/tutorial/uiswing/dnd/dropmodes.html

但基本上你必须创建一个TransferHandler,它具有通过拖放导入数据的方法。但是您必须将数据转换为您想要的任何内容(在您的情况下获取文件(可能是DataFlavor#javaFileListFlavor)并将它们转换为路径

https://docs.oracle.com/javase/tutorial/uiswing/dnd/dropmodedemo.html

【讨论】:

    【解决方案2】:

    人们可以尝试自己实现,但正如 Hovercraft Full Of Eels 的评论所提到的,有许多注意事项需要注意。

    我个人使用在这里找到的代码:http://iharder.sourceforge.net/current/java/filedrop/

    它是一个简单的java 类FileDrop,它处理所有可能发生的特殊情况,并为处理丢弃的文件提供了一个简单的接口。该课程是公共领域,因此可以免费用于任何目的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多