Альтернатива JFileChooser - PullRequest
       6

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

19 голосов
/ 17 апреля 2009

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

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

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

Ответы [ 5 ]

12 голосов
/ 17 апреля 2009

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

6 голосов
/ 02 марта 2010

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

try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception e) {e.printStackTrace();     }
5 голосов
/ 10 февраля 2010

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

2 голосов
/ 13 июня 2017

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

JFileChooser fileChooser = new JFileChooser();

с

JFileChooser fileChooser = new NativeJFileChooser();

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

0 голосов
/ 17 апреля 2009

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

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

...