#java #file #swing #path #jfilechooser
#java #файл #качели #путь #jfilechooser #качать
Вопрос:
Я хочу запомнить каталог, который пользователь ввел в первый раз, а затем установить каталог по умолчанию в ранее выбранный каталог. Я пытаюсь сделать это, сохраняя статическую переменную как path и передавая ее в JFileChooser, но она не работает, можете ли вы сказать мне, почему, пожалуйста:
public class BrowseInputUI {
public static String Path="";
public BrowseInputUI() {
JFileChooser fileopen = new JFileChooser(Path);//on second time user should see previous path
int ret = fileopen.showDialog(null, "Provide a file");
if (ret == JFileChooser.APPROVE_OPTION) {
File file = fileopen.getSelectedFile();
Path=file.getPath();
}
else if (ret == JFileChooser.CANCEL_OPTION){
Path=null;
}
}
public String GetPath(){
return Path;
}
}
Ответ №1:
Попробуйте fileopen.getCurrentDirectory()
вместо file.getPath()
. ИЛИ просто создайте свой filechooser в качестве поля класса:
public class BrowseInputUI
{
private JFileChooser fileopen = new JFileChooser();
public BrowseInputUI()
{
int ret = fileopen.showDialog(null, "Provide a file");
if(ret == JFileChooser.APPROVE_OPTION) File file = fileopen.getSelectedFile();
}
public String getPath()
{
return fileopen.getCurrentDirectory();
}
}
Комментарии:
1. @Eng. Фуад, я не могу вернуть строку для fileopen.GetCurrentDirectory .