Должен ли я использовать JFrame или JDialog?

В моем графическом интерфейсе, нажав кнопку «Справка», я хочу открыть в нем новое окно, содержащее текстовую информацию, хранящуюся в HTML через JEditorPane. Мой вопрос:

  1. Должен ли я хранить экземпляр объекта JEditorPane в JDialog или JFrame?
  2. Какие плюсы/минусы могут предложить оба компонента?

Я не хочу производить какие-либо операции в этом окне, оно будет служить только для отображения текстовой информации.


person MichalB    schedule 25.05.2013    source источник
comment
Тот же вопрос: stackoverflow.com/q/5552833/1429432   -  person Yousha Aleayoub    schedule 19.11.2018


Ответы (1)


Различия между JDialog и JFrame заключаются в том, что JDialog не имеет кнопки максимизации/минимизации, и вы не можете установить для нее DefaultCloseOperation.

Также JDialog блокирует другие компоненты, пока не будет закрыт (ожидает взаимодействия с пользователем). Поэтому, если вы используете его как окно «Помощь», пользователь не сможет оставить его открытым в фоновом режиме и продолжить работу с вашим приложением.

Если пользователь может только читать ваш информационный текст и не может взаимодействовать с вашей справкой, вы должны использовать JFrame.

JDialog следует использовать, если у пользователя есть выбор, например. нажатия Ok или Cancel, и он не сможет ничего сделать, пока не выберет что-то.

person bpoiss    schedule 25.05.2013