Вопрос по java – Как использовать File Chooser по умолчанию для операционной системы? Джава

13

Мне было просто интересно: как Gmail использует средство выбора файлов Windows / Mac для загрузки файлов? Есть какой-либо способ сделать этоin Java?

enter image description here

Лично мне не нравится, чтоJFileChooser Похоже, и я подумал, что было бы лучше, если бы мои пользователи могли использовать то, к чему они более привыкли. Советы кому-нибудь?

Взгляните на AWTFileDialog Jeffrey

Ваш Ответ

4   ответа
11

Вы можете попробовать использовать JFileChooser, но настройте внешний вид платформы на внешний вид и поведение платформы:

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

И это сделало бы все компоненты качелей лучше!

4

GMail - это веб-приложение, которое в конечном итоге использует браузер для отображения этого компонента. Теперь хорошее решение состоит в том, чтобы использовать Native Look & Feel системы, которая предоставляет JFileChooser, очень похожий на то, что вы показываете:

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

enter image description here

РЕДАКТИРОВАТЬ: решение Pulsar еще лучше, поскольку оно обеспечивает именно тот диалог, который вы ищете. Я не уверен, что он предоставляет все функции JFileChooser.

3

SWT Компоненты всегда выглядели в тех же стилях, что и в работающей ОС. Вы можете увидеть несколько примеров:

Предполагалось, что начиная с 7-й версии Java, стили Swing будут больше похожи на стили операционных систем, но могут появиться в Java 8.

17

Вместо этого используйте старый java.awt.FileDialog:

new java.awt.FileDialog((java.awt.Frame) null).setVisible(true);
Error: User Rate Limit ExceededJFileChooserError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededjava.awt.*. mattbdean
Error: User Rate Limit Exceeded

Похожие вопросы