1
A
回答
4
我想出了自己。您只需要使用DataFlavor.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);
}
}
相關問題
- 1. 拖放擺動
- 2. 拖放Javascript可移動標記排序?
- 3. 的Java /擺動:拖放用繩子
- 4. 內存泄漏與擺動拖放
- 5. 多個showMessageDialogs可以擺動擺動嗎?
- 6. jQuery拖放後可拖動
- 7. 拖放,然後移動
- 8. Konva拖動拖放而不移動拖動元素
- 9. 拖放文件夾視圖可可
- 10. 可可:拖放任何文件類型
- 11. 在設計視圖中,Flash Builder可以使用Flex移動拖放移動應用程序控件嗎?
- 12. jquery可拖動元素不再拖放後可以拖動
- 13. 在拖放不同的可拖動後回覆可拖動
- 14. 拖放與滾動移動問題
- 15. 可拖放的事件在可拖動的可丟棄對象上被拖放並再次拖動之後,可以放棄的事件不能正常工作
- 16. css縮放(-webkit轉換)div和它的孩子與jquery ui可拖動移動不同於光標在拖動
- 17. HTML 5可以拖放處理文件夾嗎?
- 18. 使用jquery拖放可拖動
- 19. jquery - 使拖放的對象可拖動
- 20. *可恢復* html5拖放文件上傳
- 21. 擺動,多屏幕,控制轉移
- 22. jquery-ui可拖動和動態的jquery-ui可拖動嗎?
- 23. 外觀與HTML5拖動可拖動的項目的拖放
- 24. 我可以使用Jquery從外部實現拖放文件到網頁(inter-Window拖放)(如gmail附件)嗎?
- 25. 移動文件在可可
- 26. 在拖放中移動圖像
- 27. 僅拖放複製vs移動
- 28. wx.TreeCtrl拖放,複製和移動
- 29. 用於移動開發的IDE拖放
- 30. JavaScript拖放文檔/文件