gpt4 book ai didi

java - 从 Directories Only JFileChooser 返回的部分路径有时会重复

转载 作者:搜寻专家 更新时间:2023-10-31 20:16:28 25 4
gpt4 key购买 nike

在我的应用程序中,我希望用户能够选择一个目录来存储内容。我有一个文本字段,用于显示他们选择的目录。如果他们只是点击一个目录(不浏览它),一切都很好。但是,如果他们双击该目录并查看其中的内容,则会发现目录名称是重复的。

例。它们在主目录中,单击文件夹桌面...返回的路径是 ~/Desktop。另一方面,如果它们在主目录中,双击 Desktop 文件夹,现在位于 Desktop 文件夹中,返回的路径是 ~/Desktop/Destkop。

这是我正在做的:

JFileChooser chooser = new JFileChooser();
chooser.setMultiSelectionEnabled(false);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = chooser.showOpenDialog(this);

if (returnVal == JFileChooser.APPROVE_OPTION) {
File f = chooser.getSelectedFile();
loadField.setText(f.getPath());
}

我也试过做类似 chooser.getCurrentDirectory() 的事情,但这也不起作用。

编辑:使用 Mac OS X、Java 1.6

最佳答案

似乎对我有用。

import javax.swing.JFileChooser;

public class FChoose {
public static void main(String[] args) {
java.awt.EventQueue.invokeLater(new Runnable() { public void run() {
JFileChooser chooser = new JFileChooser();
chooser.setMultiSelectionEnabled(false);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = chooser.showOpenDialog(null);

if (returnVal == JFileChooser.APPROVE_OPTION) {
java.io.File f = chooser.getSelectedFile();
System.err.println(f.getPath());
}
}});
}
}

Vista 上的 6u13。您的设置或您正在做的事情有什么奇怪的地方吗?

如果 Java 的 Mac OS X 实现中存在特定错误,您可能想要检查文件是否存在,如果不存在,则删除路径的最后一个元素。

关于java - 从 Directories Only JFileChooser 返回的部分路径有时会重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1134370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com