2011-02-03 12 views
0

私のJFileChooserのファイルフィルタを設定しようとしています。これは私のコードです:JFileChooserヘルプ

JFileChooser picker= new JFileChooser(); 
picker.setFileFilter(new FileNameExtensionFilter("txt")); 
int pickerResult = picker.showOpenDialog(getParent()); 
if (pickerResult == JFileChooser.APPROVE_OPTION){ 
System.out.println("This works!"); 
} 
if (pickerResult == JFileChooser.CANCEL_OPTION){ 
System.exit(1); 
} 

私のプログラムを実行すると、ファイルチューザーが表示されますが、私は任意の.txtファイルを選択することはできません。代わりに、コンソールに次のように表示されます。

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Extensions must be non-null and not empty 

これを修正するにはどうすればよいですか?

+0

が重複する可能性をAPIから質問/ 5279358/jfilechooser-help) –

答えて

1

2つ目のパラメータとして、少なくとも1つの内線番号を追加する必要があります。また

FileNameExtensionFilter(String description, String... extensions) 

Parameters: 
description - textual description for the filter, may be null 
extensions - the accepted file name extensions 
0

あなたが特定のファイル拡張子をしたいとフォルダスルーナビゲートする場合は、この試すことができます:[JFileChooserのヘルプ](http://stackoverflow.com/の

JFileChooser fc = new JFileChooser(path); 
fc.setFileSelectionMode(JFileChooser.FILES_ONLY); 
fc.addChoosableFileFilter(new FileFilter() { 

    @Override 
    public String getDescription() { 
     return "DAT Files"; 
    } 

    @Override 
    public boolean accept(File f) { 
     if (f.isDirectory()) 
      return true; 
     return f.getName().endsWith(".dat"); 
    } 

}); 
fc.setAcceptAllFileFilterUsed(false);