2011-06-04 64 views
0

可能重複: How do I restrict JFileChooser to a directory?如何做JFilechooser讓用戶只能從一個文件夾中選擇?

JFileChooser FileC = new JFileChooser("C:\messy"); 
    int result = FileC.showOpenDialog(this); 
    if(result == JFileChooser.CANCEL_OPTION) 
    { 
     return; 
    } 

我把它從文件夾中C:\messy開始,但是目前用戶可以去所有目錄從這個首發位置。

+1

而在此之前別人票關閉此,我想指出的是,這裏的解決方案發布與呈現的其他解決方案略有不同,並且發佈者可能(或可能不)偏好這裏給出的解決方案。 – camickr 2011-06-04 20:15:38

+1

@camickr:爲什麼不復制你的解決方案[這裏](http://stackoverflow.com/questions/32529/how-do-i-restrict-jfilechooser-to-a-directory)並投票刪除這個問題? – trashgod 2011-06-05 01:31:31

+1

@trashgod,因爲另一個問題是3歲。如果有人進行搜索並找到問題,他們將看到一個被接受的答案和一個以10票贊成的答案。機會是他們不會注意到已經添加了新的答案(誰看起來是答案發布的日期?),因此它沒有upvotes,因此忽略了答案。此論壇中的人員太快關閉帖子,不允許新的解決方案和想法。 – camickr 2011-06-05 02:52:42

回答

4

Single Root File Chooser將選擇限制爲單個目錄及其子目錄。

如果要防止孩子目錄的選擇,那麼你也將需要添加的FileFilter:

chooser.removeChoosableFileFilter(chooser.getAcceptAllFileFilter()); 
chooser.addChoosableFileFilter(new FileFilter() 
{ 
    public boolean accept(File f) 
    { 
     return ! f.isDirectory(); 
    } 

    public String getDescription() 
    { 
     return "Files only"; 
    } 
}); 
相關問題