Подтвердить что ты не робот

Альтернатива JFileChooser

У меня есть запрос внести некоторые изменения в маленький апплет, который в настоящее время использует JFileChooser.
Одна из главных жалоб заключается в том, что выбор файла - это боль в заднице, потому что он ведет себя иначе, чем собственный виджет, особенно для перехода на уровень корня.

Итак, зная, что и все другие проблемы JFileChooser страдают (например, кеширование файлов zip на windows...), мне было интересно, существует ли жизнеспособная альтернатива в java-мире.

Конечно, есть SWT, который использует собственный виджет, но увеличение размера апплета на 25 не является вариантом. Итак, есть ли лучшая чистая реализация Java файла для выбора файла?

4b9b3361

Ответ 1

Вы также можете попробовать XFileDialog. Не пробовал много, но стоит оценить.

Ответ 2

AWT FileDialog фактически использует собственный компонент, но, как и в случае с большинством AWT и Swing, это гораздо менее гибким и настраиваемым, чем Swing JFileChooser. Таким образом, компромисс: JFileChooser может иметь неуклюжий пользовательский интерфейс, но обычно он лучше подходит для большинства целей. Если вы действительно хотите, чтобы ваш диалог выбора файлов выглядел и выглядел как родные, вы можете пойти с FileDialog.

Ответ 3

Я знаю, что это немного поздно, но это может помочь другим пользователям. Вы можете настроить пользовательский интерфейс приложения в пользовательском интерфейсе ОС:

try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception e) {e.printStackTrace();     }

Ответ 4

Я написал обертку вокруг файла выбора JavaFX, если он доступен. Если вы включили в свое приложение, вы можете заменить

JFileChooser fileChooser = new JFileChooser();

с

JFileChooser fileChooser = new NativeJFileChooser();

Затем он будет использовать собственный (и современный) выбор файлов базовой платформы. Не все работает на 100% одинаково, поэтому обязательно проверяйте его, но большинство вещей должно идти гладко.

Ответ 5

Как сказал @htw, используйте FileDialog, если вы считаете, что это ваша главная забота. Используя FileDialog, имейте в виду, что существует множество удобных методов, которые вы не сможете использовать...

Я использовал VFSJFileChooser несколько раз. Он не страдает от ошибок JFileChooser (медленная загрузка из-за zip файлов, только для окон), но интерфейс не является "родным".