2011-10-15 93 views
8

我創建了一個JFileChooser來打開一個文件,但是當我選擇一個文件並打開它時,第二次我想選擇一個文件時,JFileChooser不在當前目錄中。 如何設置JFileChooser打開當前目錄?設置JFileChooser打開當前目錄

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();} 
      } 

回答

12

要麼通過File參數傳遞目錄放到the constructor(一File也可以是一個目錄,僅供參考),或使用.setCurrentDirectory(File dir)方法,你讓JFileChooser中可見之前。

此外,爲了使JFileChooser中留在同一個文件夾,您需要保存從最後一次選擇的文件/目錄的文件夾,並通過.setCurrentDirectory(File dir)

在隨後的時間使用該值來控制啓動哪個文件夾
3

使選擇器成爲類級屬性並僅創建一次。這樣,它不僅指向它關閉時的位置,而且將具有相同的大小,位置,文件篩選器等。

相關問題