2014-11-20 57 views
-1

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

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

+4

谷歌的Java Swing拖动和拖放,并准备做很多关于这个主题的阅读/学习,因为它不是完全简单的如何使用。 – 2014-11-20 21:37:35

+1

For [example](http://stackoverflow.com/questions/13597233/how-to-drag-and-drop-files -a-directory-in-java/13597635#13597635),[示例](http://stackoverflow.com/questions/13639804/drag-and-drop-files-from-os-into-jtable-java/ 13640115),[示例](http://stackoverflow.com/questions/15080244/java-drag-n-drop-files-of-specific-extension-on-jframe/15080654#15080654) – MadProgrammer 2014-11-20 23:23:32

回答

2

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

我个人使用,我发现这里的代码:http://iharder.sourceforge.net/current/java/filedrop/

这是一个简单的Java类FileDrop与所有可能发生的特殊情况下的交易,并提供了一个简单的界面来处理丢弃的文件。该类是公有领域,因此可以用于任何目的。

+0

这是一个很好的例子, 谢谢! – Gwalk 2014-11-20 21:47:18

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