Измените каталог JFileChooser

#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 .