2014-11-20 54 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