2012-04-19 56 views
1

當我雙擊一個目錄JFileChooser沒有打開該目錄,即它沒有瀏覽它,但它選擇目錄並返回。 如何實現JFileChooser,以便在雙擊時顯示文件夾的內容?
如果(JFileChooser.FILES_ONLY)設置setFileSelectionMode則行爲是好的,我需要,但我不得不使用FILES_AND_DIRECTORIESJava JFileChooser返回選定的目錄而不是瀏覽它

+0

所以要清楚,你需要雙擊進入目錄,但選擇後點擊'打開'返回選定的目錄? – 2012-04-19 16:14:56

+0

。這就是我想要的。 – markAnthopins 2012-04-19 16:16:27

回答

2

,你可以添加自己的MouseListener

final JFileChooser fileChooser = new JFileChooser(); 
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); 
fileChooser.addMouseListener(new MouseListener() { 

    @Override 
    public void mouseClicked(MouseEvent arg0) { 

     if(arg0.getClickCount() == 2) { 
      File file = fileChooser.getSelectedFile(); 
      if(file.isDirectory()) { 
       fileChooser.setCurrentDirectory(file); 
       fileChooser.rescanCurrentDirectory(); 
      } 
      else { 
       fileChooser.approveSelection(); 
      } 
     } 
    } 

    //Other methods (can be empty) 
}); 

此檢查雙擊並從JFileChooser檢查獲取選定的文件,如果這是一個目錄,如果它是遵循它,如果它是它返回的文件的文件。此外,如果您選擇一個目錄並點擊打開它將打開目錄。

相關問題