2011-10-15 28 views
8

Utworzono JFileChooser, aby otworzyć plik, ale gdy wybieram plik i go otworzyć, na drugi czas, kiedy chcę wybrać plik, JFileChooser nie znajduje się w bieżącym katalogu. Jak ustawić JFileChooser, aby otworzyć bieżący katalog?Ustaw JFileChooser, aby otworzyć bieżący katalog

JFileChooser fileChooser = new JFileChooser(); 
     fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); 
     fileChooser.setDialogType(JFileChooser.SAVE_DIALOG); 
     int result = fileChooser.showOpenDialog(this); 
     if (result == JFileChooser.APPROVE_OPTION){ 
       File fileName = fileChooser.getSelectedFile(); 
       File path=fileChooser.getCurrentDirectory(); 
       if ((fileName == null) || (fileName.getName().equals(""))) 
       { 
       JOptionPane.showMessageDialog(this, "Invalid File Name", 
        "Invalid File Name", JOptionPane.ERROR_MESSAGE); 
       } 
       else{ 
       currentPath=path.getPath()+"\\"+fileName.getName();} 
      } 

Odpowiedz

12

Albo przejść do katalogu do the constructor poprzez parametr File (a File mogą być również katalog, FYI) lub użyć metody .setCurrentDirectory(File dir) przed dokonaniem JFileChooser widoczne.

Ponadto, aby JFileChooser pozostać w tym samym folderze, trzeba zapisać folder w pliku/katalogu wybranego z ostatniej chwili i użyć tej wartości do kontrolowania którym folderze rozpoczyna się w późniejszych czasach poprzez .setCurrentDirectory(File dir)

3

Ustaw wybrany element jako atrybut klasy i utwórz go tylko raz. W ten sposób nie tylko wskazuje miejsce, w którym się zamknął, ale będzie mieć ten sam rozmiar, lokalizację, wybrany filtr plików itp.

Powiązane problemy