2013-03-16 40 views
-1

我想讓我的jfilechooser在不阻塞父類的情況下顯示,但我嘗試了所有內容,但仍然阻塞了父類。任何解決方案....Swing jfilechooser在傳遞null之後阻止其他幀

public class main_class { 

    public static void main(String[] args) { 
     JFrame parent_frame = new JFrame("PARENT"); 

     if (parent_frame != null) { 
      parent_frame.setBounds(50, 50, 500, 500); 
      parent_frame.setVisible(true); 
      parent_frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      JFileChooser chooser = new JFileChooser(); 
      chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 
      int returnVal = chooser.showDialog(null, "Ok"); 
     } 
    } 
} 

回答

2

默認情況下,showDialog會用一個模式對話框。

JFileChooser僅基於JComponent,因此,只要您不介意代碼不會阻塞,您可以將JFileChooser添加到您自己可以設置的框架/對話框中。

+0

我不想用任何jframe添加jfilechooser,或者我不想使用jfilechooser的模態行爲可以。 – 2013-03-16 10:22:32

+0

我也通過jfilechooser中的parent_frame仍然parent_frame被jfilechooser阻止我希望它啓用和獨立於jfilechooser – 2013-03-16 10:24:14

+0

實現這一目標的唯一方法是做出自己的對話框。但是,這意味着你失去了模態行爲,也就是說,在繼續之前,你的代碼不會等待對話被解散。 – MadProgrammer 2013-03-16 10:24:20