Rus*_*lan 3 java directory jfilechooser
使用Path按钮上的以下方法单击:
public static void pathButtonAction() {
JFileChooser chooser = new JFileChooser();
if (pathToInbound == null) { //private static File pathToInbound;
chooser.setCurrentDirectory(new java.io.File("."));
} else {chooser.setCurrentDirectory(pathToInbound);
}
chooser.setDialogTitle("Choose folder with messages to send");
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
pathToInbound = chooser.getCurrentDirectory();
addLogText(chooser.getCurrentDirectory().getAbsolutePath());
}
}
Run Code Online (Sandbox Code Playgroud)
但在这里我选择文件夹c:\ windows\temp这里addLogText(chooser.getCurrentDirectory().getAbsolutePath())我只能记录c:\ windows.为什么临时文件夹被忽略/截断?
您应该调用chooser.getSelectedFile()而不是chooser.getCurrentDirectory(),这将返回用户在filechooser中导航的当前目录.在你的情况下它是C:\Windows.