我有一个带有按钮/文本字段的 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)”,但我不知道该怎么做。
任何和所有的帮助表示赞赏。