knt*_*knt 5 java swing jfilechooser
在我的应用程序中,我希望用户能够选择一个目录来存储内容.我有一个文本字段,我用它来显示他们选择的目录.如果他们只是点击一个目录(不要浏览它),一切都很好.但是,如果他们双击目录并查看其中,则目录名称是重复的.
防爆.他们在主目录中,单击文件夹桌面...返回的路径是〜/ 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());
}
Run Code Online (Sandbox Code Playgroud)
我也试过做类似的事情,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());
}
}});
}
}
Run Code Online (Sandbox Code Playgroud)
Vista 上的 6u13。你的设置或你正在做的事情有什么奇怪的吗?
如果 Java 的 Mac OS X 实现中存在特定错误,您可能需要检查文件是否存在,如果不存在,则删除路径中最后一个元素的重复数据。
| 归档时间: |
|
| 查看次数: |
4165 次 |
| 最近记录: |