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. jstree移动,拖放
- 3. HTML5拖放移动
- 4. 拖放Javascript可移动标记排序?
- 5. 多个showMessageDialogs可以摆动摆动吗?
- 6. 内存泄漏与摆动拖放
- 7. 的Java /摆动:拖放用绳子
- 8. 关于摆动拖放功能
- 9. jQuery拖放后可拖动
- 10. 控件不能在拖放中移动
- 11. 拖放时移动图像
- 12. 拖放,然后移动
- 13. 拖放后可拖动的项目是否可以拖放?
- 14. 拖放可缩放内容偏移量()
- 15. jQuery:多个可拖动和可拖放?
- 16. Konva拖动拖放而不移动拖动元素
- 17. 可拖动,可放开和移动幻灯片带触摸
- 18. 摆动拖放:根据文件的类型/文件类型接受/拒绝文件列表放置?
- 19. 可可:拖放任何文件类型
- 20. 拖放文件夹视图可可
- 21. 在设计视图中,Flash Builder可以使用Flex移动拖放移动应用程序控件吗?
- 22. 在拖放不同的可拖动后回复可拖动
- 23. jquery可拖动元素不再拖放后可以拖动
- 24. jQuery可拖动后拖放不可拖动
- 25. 拖放移位
- 26. HTML5拖放 - 将选择文本拖放到可拖放元素
- 27. 可拖放的事件在可拖动的可丢弃对象上被拖放并再次拖动之后,可以放弃的事件不能正常工作
- 28. HTML 5可以拖放处理文件夹吗?
- 29. HTML5拖放n拖放文件上传
- 30. 拖放与滚动移动问题