2015-06-30 98 views
-1

有沒有辦法,我可以暫停我的主要功能,同時有一個帶有filechooser的JFrame。用戶應該選擇他的目錄,然後應該動態創建一個文件。Java等待FileChooser

這裏是

 DirectoryChooser selectPath = new DirectoryChooser(); //Filechooser for Path 
     String sourcePath = selectPath.getSourcePath(); 

     //Here the programm should take a break to wait for the sourcePath 

     try 
     {                    
      FileWriter fw = new FileWriter(sourcePath+"/Result.txt"); //Create File 
      BufferedWriter ausgabe = new BufferedWriter(fw); 

      //*** More code *** 

是在sperate該類所創建的文件選擇對話框中的部分代碼,你可以得到的路徑字符串與getSourcePath()方法

+2

難道你不打開它的對話框? – Marvin

+1

你需要[這](http://stackoverflow.com/questions/26921142/use-a-thread-to-wait-until-the-user-has-picked-a-file#answer-26921697)? – JackWhiteIII

+0

謝謝@JackWhiteIII!幫了我很多。非常好,簡單的解決方案 – MegaCleptomaniac

回答

1

容易的方法是做這樣的事情。您的代碼僅在選擇文件時執行。

javax.swing.JFileChooser chooser = new javax.swing.JFileChooser(); 
chooser.showOpenDialog(null); 
File yourFile = chooser.getSelectedFile(); 
if(yourFile!=null) //Check if user selected a file 
{ 
    //write your codes here 
} 
0

你必須調用showDialog()方法(或任何相應的DirectoryChooser方法被調用)向用戶顯示對話框。如果您引用的是JavaFX庫中的DirectoryChooser類,則可以調用showDialog(Window owner)將對話框塊IO也設置爲所有者窗口。