我的 Swing 应用程序中有一个 JTextField
,它保存选择要使用的文件的文件路径。目前我有一个用于填充此值的 JFileChooser
。但是,我想添加用户将文件拖放到此 JTextField
上并将该文件的文件路径放入 JTextField
中的功能而不是总是使用 JFileChooser
。
如何做到这一点?
最佳答案
如果您不想花太多时间研究这个相对复杂的主题,并且您使用的是 Java 7 或更高版本,这里有一个快速示例,说明如何使用 JTextArea
接受拖放的文件> 作为放置目标:
JTextArea myPanel = new JTextArea();
myPanel.setDropTarget(new DropTarget() {
public synchronized void drop(DropTargetDropEvent evt) {
try {
evt.acceptDrop(DnDConstants.ACTION_COPY);
List<File> droppedFiles = (List<File>)
evt.getTransferable().getTransferData(DataFlavor.javaFileListFlavor);
for (File file : droppedFiles) {
// process files
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
});
关于java - 如何在 Swing 中使用拖放来获取文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7107366/