Использование FileDialog для выбора файла с определенным расширением
Я пытаюсь использовать средство выбора файлов FileDialog, потому что мне действительно нужно Java-приложение, чтобы иметь собственный инструмент выбора файлов Apple (я знаю, что все мы ненавидим отсутствие переносимости, но это то, что мне нужно). Я пытаюсь сделать так, чтобы мой инструмент выбора файлов позволял пользователю выбирать файлы, заканчивающиеся на.ws. Вот что я попробовал:
FileDialog fd = new
FileDialog(_sharedInstance,rsc.str("480"),FileDialog.LOAD);
// fd.setFile("*.ws");
class WSFilter implements FilenameFilter {
public boolean accept(File dir, String name) {
return (name.endsWith(".ws"));
}
};
FilenameFilter wsFilter = new WSFilter();
fd.setFilenameFilter(wsFilter);
fd.setDirectory(_projectsBaseDir.getPath());
fd.setLocation(50,50);
// fd.setFile("*");
fd.setVisible(true);
По какой-то причине программа выбора файлов не позволяет мне выбирать файлы. Есть идеи?
3 ответа
Ответ был мне нужен этот вызов: System.setProperty("apple.awt.fileDialogForDirectories", "false");
Разве это не спрашивали раньше?
В любом случае, вы можете попытаться изменить L&F и продолжать использовать JFileChooser.
Я слышал, это хорошо:
Почему бы не использовать JFileChooser?
JFileChooser fileChooser = new JFileChooser(new File(filename));
fileChooser.addChoosableFileFilter(new MyFilter());
class MyFilter extends javax.swing.filechooser.FileFilter {
public boolean accept(File file) {
String filename = file.getName();
return filename.endsWith(".java");
}
public String getDescription() {
return "*.java";
}
}