У меня есть 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 или что-то. Я установил пользовательский FilenameFilter с помощью setFilenameFilter (), но, похоже, он не работал. Я заметил, что в документации сказано, что пользовательский фильтр не работает в 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)», но я не уверен, как это сделать.
Любая помощь приветствуется.