Статьи

Создание диалогового окна сообщения – часть I

Примечание. Если вы не уверены, что такое диалоговое окно, прочитайте « Что такое диалоговое окно»?

Окно сообщений — это простое всплывающее окно, которое отображает сообщение для пользователя и закрывается нажатием кнопки. Чтобы избежать создания собственного диалогового окна с нуля, класс JOptionPane предоставляет методы для создания различных диалоговых окон, просто передавая им некоторые параметры, чтобы определить внешний вид диалогового окна.

Примечание. Если вы хотите получить конкретный ввод от пользователя, взгляните на диалоговое окно «Построение ввода» . Он по-прежнему использует метод из класса JOptionPane, но его стоит отличить от простого окна сообщения, поскольку параметры, которые пользователь может выбрать, более разнообразны.

Класс JOptionPane

Для работы с JOptionPaneклассом нет необходимости создавать экземпляр a, JOptionPaneпотому что методы и поля, которые вам нужно использовать, это статические методы и статические поля .

Для создания простого диалогового окна сообщения у вас есть выбор из трех JOptionPaneметодов:

  • showMessageDialog— Этот метод является самым основным. Он позволяет вам установить сообщение, заголовок для диалогового окна, тип сообщения (например, предупреждающее сообщение, сообщение об ошибке) и имеет только кнопку ОК. 
  • showConfirmDialog— Опять же, вы можете установить сообщение, заголовок, тип сообщения, но вы также можете выбрать одну из нескольких комбинаций кнопок (например, YES / NO, OK / CANCEL). Возвращает int, представляющий, какая кнопка была нажата.
  • showOptionDialog— Это самый гибкий метод. В дополнение к настройке сообщения и заголовка, у вас есть выбор, как настроить диалоговое окно. Вы можете выбрать тип сообщения и комбинацию кнопок или предоставить конкретную иконку и Objectмассив для параметров кнопки. ObjectМассив дает гибкость , чтобы сделать имена кнопок из массива строк или даже дать им все изображения с помощью массива Icon. Возвращает int, представляющий выбор кнопки пользователем.

Использование метода showMessageDialog

Для создания простого окна сообщения используйте showMessageDialog:

JOptionPane.showMessageDialog(this, "This is the dialog title"
                ,"This is the dialog message", JOptionPane.PLAIN_MESSAGE);

Это создаст диалог без иконки — только сообщение, заголовок и кнопка ОК.

Это звучит как довольно простое окно сообщения, и это потому, что я передал статическое поле JOptionPane.PLAIN_MESSAGEв качестве типа сообщения. Тип сообщения пытается придать диалоговому окну определенное ощущение, определив значок, который будет использоваться. A PLAIN_MESSAGEне имеет иконки, но другие поля имеют:

  • ERROR_MESSAGE
  • INFORMATION_MESSAGE
  • WARNING_MESSAGE
  • QUESTION_MESSAGE
  • PLAIN_MESSAGE

Например, JOptionPane.ERROR_MESSAGEиспользует красный восьмиугольник с восклицательным знаком в середине, чтобы попытаться создать ощущение, что произошло нечто неожиданное.

Посмотрите еще раз на первый параметр в приведенном выше примере. Я использую thisдля ссылки на JFrameобъект в качестве родителя диалогового окна. Первым параметром любого из трех JOptionPaneметодов всегда является родительский компонент (например JFrame, JPanel) диалогового окна. Это позволяет диалоговому окну определять его положение на экране относительно его родителя. Этот параметр может быть нулевым, если вы хотите создать диалоговое окно без контейнера, такого как JFrameили JPanel.

Последнее, что следует отметить в отношении JOptionPane.showMessageDialogметода, — он не возвращает ответ пользователя. Для них есть только кнопка ОК. Поскольку их возможности настолько ограничены, не стоит пытаться получить ответ.

Прочтите больше в разделе Создание диалогового окна сообщения — часть II, чтобы увидеть, как используются другие методы JOptionPane.

Пример программы на Java-коде можно посмотреть в программе « Простые диалоговые окна сообщений» . Более подробный пример Java-приложения можно посмотреть в программе выбора опций JOptionPane .