Ответ 1
Вы также можете попробовать XFileDialog. Не пробовал много, но стоит оценить.
У меня есть запрос внести некоторые изменения в маленький апплет, который в настоящее время использует JFileChooser.
Одна из главных жалоб заключается в том, что выбор файла - это боль в заднице, потому что он ведет себя иначе, чем собственный виджет, особенно для перехода на уровень корня.
Итак, зная, что и все другие проблемы JFileChooser страдают (например, кеширование файлов zip на windows...), мне было интересно, существует ли жизнеспособная альтернатива в java-мире.
Конечно, есть SWT, который использует собственный виджет, но увеличение размера апплета на 25 не является вариантом. Итак, есть ли лучшая чистая реализация Java файла для выбора файла?
Вы также можете попробовать XFileDialog. Не пробовал много, но стоит оценить.
AWT FileDialog
фактически использует собственный компонент, но, как и в случае с большинством AWT и Swing, это гораздо менее гибким и настраиваемым, чем Swing JFileChooser
. Таким образом, компромисс: JFileChooser
может иметь неуклюжий пользовательский интерфейс, но обычно он лучше подходит для большинства целей. Если вы действительно хотите, чтобы ваш диалог выбора файлов выглядел и выглядел как родные, вы можете пойти с FileDialog
.
Я знаю, что это немного поздно, но это может помочь другим пользователям. Вы можете настроить пользовательский интерфейс приложения в пользовательском интерфейсе ОС:
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {e.printStackTrace(); }
Я написал обертку вокруг файла выбора JavaFX, если он доступен. Если вы включили в свое приложение, вы можете заменить
JFileChooser fileChooser = new JFileChooser();
с
JFileChooser fileChooser = new NativeJFileChooser();
Затем он будет использовать собственный (и современный) выбор файлов базовой платформы. Не все работает на 100% одинаково, поэтому обязательно проверяйте его, но большинство вещей должно идти гладко.
Как сказал @htw, используйте FileDialog, если вы считаете, что это ваша главная забота. Используя FileDialog, имейте в виду, что существует множество удобных методов, которые вы не сможете использовать...
Я использовал VFSJFileChooser несколько раз. Он не страдает от ошибок JFileChooser (медленная загрузка из-за zip файлов, только для окон), но интерфейс не является "родным".