2012-03-21 4 views
2

Мне нужно знать, какая из них лучше для меня. Мои требования следующие в порядке важности:JFileChooser vs JDialog vs FileDialog

  • Сохраните и загрузите файлы с легкостью.
  • Фильтр типа файла во время выбор файла (не затем).
  • выглядеть и чувствовать себя точно же, как и родной OS L & F.

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

+1

Все, что начинается J, качается, так что вряд ли это соответствует родной ОС. JFileChooser позволяет полностью фильтровать, AWT FileDialog, вероятно, будет лучше для этого. JDialog - пустой диалог! – Adam

+0

Этого я уже знаю. То, что я на самом деле, - это решение, которое удовлетворяет всем 3 пулям. Я просто не могу поверить, что Java не предоставит такого решения, которое предлагает как знакомые L & F, так и приличную систему фильтрации. Не может ли это быть достигнуто? –

ответ

8

В чем заключается остальная часть вашего заявления? Если вы использовали AWT, вы должны использовать FileDialog. Если вы использовали Swing, вы должны использовать JFileChooser. Оба класса отвечают всем вашим требованиям. (А JDialog просто пустое окно, вы можете использовать его только для открытия файлов при добавлении Component к нему, который позволяет, и JFileChooser уже делает это для вас.)

Сохранение и загрузка должна быть написана с ваши собственные методы, как JFileChooser, так и FileDialog могут использоваться только для выбора файлов.

И FileDialog, и JFileChooser Фильтры файлов поддержки во время выбора.

FileDialog UI по умолчанию является родной ОС. JFileChooser (на самом деле, весь ваш прикладной) пользовательский интерфейс может быть установлен на родную ОС 'с UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()).

+0

Файловый фильтр FileDialog отстой. Я попробовал. Последнее, что я попробовал setLookAndFeel, ничего не изменил, но я отдам его. Возможно, это была личная ошибка. –

+0

@PerryMonschau Он может сосать, но он все еще там. Вам нужно либо вызвать 'setLookAndFeel' перед созданием ваших компонентов, либо вызвать' SwingUtilities # updateComponentTreeUI' на вашем контейнере самого высокого уровня, как указано в javadoc. – Jeffrey

+2

Нет, см. Внутренние компоненты JFileChooser имеют один и тот же L & F, однако макет не является родным для ОС. Тем не менее, FileDialog действительно имеет собственную систему фильтрации файлов, я просто привык к другой ОС. –

 Смежные вопросы

  • Нет связанных вопросов^_^