2015-04-08 48 views
1

編程單擊我有以下代碼來打開一個JFileChooserJFileChooser的開放

chooser = new JFileChooser(); 
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 
chooser.setAcceptAllFileFilterUsed(false); 
chooser.showOpenDialog(null); 
String path = chooser.getSelectedFile().getPath(); 

我想要做的就是編程關閉此對話框。我看到了打開的按鈕,但是我怎樣才能以編程方式「按下」它?

+0

您需要爲初學者使用ActionListener。 – ryekayo

+0

你是什麼意思?我知道一個行動者是什麼,但你對「初學者」意味着什麼? –

+0

那麼我的意思是你需要創建一個ActionListener變量,並用它來檢測鼠標點擊打開選項。 – ryekayo

回答

1

這將模擬一個文件的用戶選擇開放:

JFileChooser chooser = new JFileChooser(); 
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 
chooser.setAcceptAllFileFilterUsed(false); 
new Thread(new Runnable() { 
    @Override 
    public void run() { 
     try { 
      Thread.sleep(100); 
     } catch (InterruptedException ex) { 
      Logger.getLogger(YourApplication.class.getName()).log(Level.SEVERE, null, ex); 
     } 
     chooser.setSelectedFile(new File("/your/file/path"))); 
     chooser.approveSelection(); 
    } 
}).start(); 
chooser.showOpenDialog(null); 
String path = chooser.getSelectedFile().getPath(); 

Thread.sleep(100)是醜陋的,但必須是在那裏,因爲否則JFileChooser還不時approveSelection被稱爲打開。

+0

的確,這個作品! –