Использование FileDialog для выбора файла определенного расширения
-
12-09-2019 - |
Вопрос
Я пытаюсь использовать средство выбора файлов 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);
По какой-то причине мое средство выбора файлов не позволяет мне выбирать какие-либо файлы.Есть какие-нибудь идеи?
Решение
Ответ был таким: мне нужен этот звонок:System.setProperty("apple.awt.fileDialogForDirectories", "false");
Другие советы
Почему бы не использовать 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";
}
}
Разве об этом раньше не спрашивали?
В любом случае, вы можете попытаться изменить L & F и продолжать использовать JFileChooser.
Я слышал, что этот хорош: