我有一个带有按钮/文本字段的JDialog供用户选择文件.这是代码:
FileDialog chooser = new FileDialog(this, "Save As", FileDialog.SAVE );
String startDir = saveAsField.getText().substring( 0, saveAsField.getText().lastIndexOf('\') );
chooser.setDirectory(startDir);
chooser.setVisible(true);
String fileName = chooser.getFile();
我的问题是,我没有看到所有文件过滤器,而是想提供自定义过滤器,例如对于Word文档或其他东西.我使用setFilenameFilter()设置了一个自定义的FilenameFilter,但它似乎不起作用.我注意到它在文档中说自定义过滤器在Windows中不起作用(这在Windows XP / Vista / 7中运行).这是我对过滤器的实现:
chooser.setFilenameFilter( new geFilter() );
public class geFilter implements FilenameFilter {
public boolean accept(File dir, String name) {
return name.endsWith( ".doc" ) || name.endsWith( ".docx" );
}
}
我在这里做错了吗?此外,我想在框中显示一个描述,如“Microsoft Word(* .doc * .docx)”,但我不知道该怎么做.
任何和所有的帮助表示赞赏.