进入Java程序窗口

时间:2014-11-20 21:36:02

标签: java swing drag-and-drop jlist

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

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

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:2)

您缺少的关键字是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