Диалоговое окно для выбора опций Java

Диалоговое окно для выбора опций JavaВ библиотеке Swing содержится много готовых диалоговых окон, которые позволяют вводить небольшие объемы информации. В классе JOptionPane есть четыре статических метода:

showMessageDialog — выводит на экран сообщение и ожидает, пока пользователь не щелкнет на кнопке ОК.

showConfirmDialog — выводит на экран сообщение и ждет подтверждения(ОК или Cancel(Отмена)).

showOptionDialog — выводит на экран сообщение и предоставляет пользователю выбор из нескольких вариантов.

showInputDialog — выводит на экран сообщение и поле редактирования, в котором пользователь должен ввести информацию.Диалоговое окно может содержать компонент для ввода данных. Этим компонентом может быть поле редактирования, в котором пользователь вводит произвольную строку, или выпадающий список, один из пунктов которого пользователь должен выбрать.

Компоновка диалоговых окон и выбор пиктограмм для стандартных сообщений зависит от стиля интерфейса.

Пиктограмма в левой части окна выбирается в зависимости от типа сообщения.

Существуют пять типов сообщений:

  • ERROR_MESSAGE
  • INFROMATION_MESSAGE
  • WARNING_MESSAGE
  • QUESTION_MESSAGE
  • PLAIN_MESSAGE

Для сообщения PLAIN_MESSAGE пиктограмма не предусмотрена. Для каждого из типов диалоговых окон существует также метод, позволяющий использовать свою собственную пиктограмму.

С каждым из типов диалоговых окон можно связать определенное сообщение, которое может быть строкой, пиктограммой, компонентом пользовательского интерфейса или любым другим объектом. Ниже показано, как эти сообщения отображаются на экране.

  • String — выводит строку
  • Icon — отображает пиктограмму
  • Component — отображает компонент
  • Object[] — выводит все объекты, отображая их один поверх другого.
  • Любой другой объект — применяет метод toString и выводит на экран строку, полученную в результате этого преобразования.

Разумеется, в большинстве случаев на экран выводится именно строка сообщения. В то же время возможность отображать в диалоговым окне объекты класса Component обеспечивает большую гибкость. Внешний вид кнопок, размещенных в нижней части окна, зависит от типа диалога и типа опций.

Вызывая методы showMessageDialog() или showInputDialog(), вы ограничиваетесь стандартным набором кнопок(ОК либо ОК и Cancel). Вызывая метод showConfirmDialog(), можно выбрать один из четырех типов опций:

  • DEFAULT_OPTION
  • YES_NO_OPTION
  • YES_NO_CANCEL_OPTION
  • OK_CANCEL_OPTION

С помощью метода showOptionDialog() можно указать произвольный набор вариантов, задав массив объектов, соответствующих каждому из них. Элементы этого массива отображаются на экране следующим образом.

  • String — создает кнопку, меткой которой является заданная строка.
  • Icon — создает кнопку, меткой которой является заданная пиктограмма.
  • Component — отображает компонент.
  • Любой другой обьект — применяет метод toString и создает кнопку, меткой которой является полученная в результате строка.

Статические методы, предназначенные для создания диалоговых окон, возвращают следующие значения.

  • showMessageDialog — возвращаемое значение отсутствует.
  • showConfirmDialog — целое число, соответствующее выбранному варианту.
  • showOptionDialog — целое число, соответствующее выбранному варианту.
  • showInputDialog — строка, введенная или выбранная пользователем.

Методы showConfirmDialog() и showOptionDialog() возвращают целое число, обозначающие кнопку, на которой щелкнул пользователь. В диалоговом окне для выбора опций это число является порядковым номером. Если вместо выбора опций пользователь закрыл диалоговое окно, возвращается значение CLOSED_OPTION. Константы, используемые в качестве возвращаемых значений, приведены ниже.

  • OK_OPTION
  • CANCEL_OPTION
  • YES_OPTION
  • NO_OPTION
  • CLOSED_OPTION

Несмотря на обилие мнемонических обозначений, создать диалоговое окно достаточно просто.

  1. Выберите тип диалогового окна(сообщение, подтверждение, выбор или ввод).
  2. Выберите пиктограмму(ошибка, информация, предупреждение, вопрос, своя собственная или никакой).
  3. Выберите сообщение(строка, пиктограмма, пользовательский компонент или массив компонентов).
  4. Если вы выбрали диалоговое окно для подтверждения выбора, задайте тип вариантов(по умолчанию, Yes/No, No/Cancel или OK/Cancel).
  5. Если вы выбрали диалоговое окно для выбора опций, задайте варианты(строки, пиктограммы или собственные компоненты), а также вариант, выбираемый по умолчанию.
  6. Если вы выбрали диалоговое окно для ввода данных, выберите поле редактирования или выпадающий список.
  7. Найдите подходящий метод в класс JOptionPane.