2011-10-15 6 views
8

ファイルを開くためにJFileChooserを作成しましたが、ファイルを選択して開くと、ファイルを選択する時間の2番目に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もFYI、ディレクトリすることができます)、またはあなたはJFileChooserのが見えるようにする前に.setCurrentDirectory(File dir)メソッドを使用しますか。また

、JFileChooserのは同じフォルダに滞在するために、あなたは最後の時間から選択したファイル/ディレクトリのフォルダを保存し、それが.setCurrentDirectory(File dir)

経由回目以降に開始するフォルダを制御するためにその値を使用する必要があります
3

チューザーをクラスレベルの属性にして、それを1回だけ作成します。そうすれば、閉じたときの位置を指すだけでなく、同じサイズ、場所、ファイルフィルタなどを選択することができます。

関連する問題