JOptionPane: диалоговое окно Java showOptionDialog

Другим типом диалогового окна в классе java.swing.JOptionPane является OptionDialog. Он может отображать несколько кнопок, сообщение или набор компонентов JButton. Это можно сделать с помощью следующего метода:

showOptionDialog(frame, message, title, typeOption,  typeПараметры значка сообщения default), или:
  • frame: является родительским компонентом;
  • message: строковое сообщение, отображаемое в диалоге;
  • title: используется в качестве заголовка диалогового окна;
  • typeOption: целое число, представляющее тип опций в диалоговом окне. Допустимые коды: YES_NO_OPTION, YES_NO_CANCEL_OPTION и OK_CANCEL_OPTION;
  • typeMessage: целое число, обозначающее тип сообщения, определенный в JOptionPane: classINFORMATION_MESSAGE, WARNING_MESSAGE, ERROR_MESSAGE и PLAIN_MESSAGE;
  • icon: это иконка ImageIcon для отображения;
  • options; представляет собой таблицу выбора, которую может выполнить пользователь;
  • defaultили или initialvalue является значением по умолчанию для select.
В этом примере кода реализовано диалоговое окно с параметрами:

import javax.swing.JOptionPane; 

public class OptionDialog {

public static void main(String[] args) {
int return = JOptionPane.showOptionDialog(null,
"Вы уверены, что хотите продолжить?",
"Ошибка", 
//JOptionPane да нет
JOptionPane.YES_NO_OPTION,
JOptionPane.ERROR_MESSAGE,
null, null, null);
}
}
divПосле запуска программы у вас появится это диалоговое окно с сообщением об ошибке и двумя кнопками выбора «да» и «нет». Вы можете запланировать события, например, когда вы нажимаете на кнопку «нет», вы выходите из программы. System.exit(0):

JOptionPane.showOptionDialog да нет

Кнопки управления в JOptionPane.showOptionDialog

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

import javax.swing.JOptionPane; 

public class OptionDialog {

public static void main(String[] args) {
Object[] choice={"18-25 лет","26-35 лет","36-45 лет","46-55 лет","56 лет и старше"};
int choice = JOptionPane.showOptionDialog(null,
"Какой у вас возраст?",
"Возрастной диапазон",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE,
null, choice, choice[0]);
}
}
Result:
JOptionPane.showOptionDialog buttons

References:
herongyang: showOptionDialog() - Отображение диалоговых окон опций
Java Doc: метод showOptionDialog