Найти тему
Java для всех

Класс JOptionPane

Помимо статических методов, класс JOptionPane содержит в себе статические поля, которые определяют типы пиктограмм диалоговых окон.

  • INFORMATION_MESSAGE — информаионная пиктограмма;
  • QUESTION_MESSAGE — пиктограмма для вопросов;
  • WARNING_MESSAGE — пиктограмма для предупреждающих сообщений;
  • ERROR_MESSAGE — для отображения ошибок;
  • PLAIN_MESSAGE — без пиктограммы.

При этом константы этого класса целочисленные и могут быть присвоены целочисленным переменным.

Упрощённая форма условного оператора на примере:

class Draco{
public static void main(String[] args){
int res;
// Визуализация окна подтверждения:
res=showConfirmDialog(null, // указывается родительское окно
"Хотите увидеть зелёного дракона?", // Сообщение
"Вопрос", // Заголовок окна
YES_NO_OPTION // Кнопки
);
// Упрощенная форма условного оператора:
if(res==YES_OPTION){
// указываем путь к файлу с изображением:
String file="d:/Pictures/dragon Green.png";
// Создание объекта изображения:
ImageIcon img=new ImageIcon(file);
// Отображается окно с картинкой:
showMessageDialog(null, // Родительское окно
img, // Изображение
"Зелёный дракон", // Заголовок окна
PLAIN_MESSAGE // Пиктограмма отсутствует );
}
}
}

В данном примере используется статический метод showConfirmDialog() из класса JOptionPane. Чтобы в окне были кнопки Yes и NoNo, используется константа YES_NO_OPTION.

Помимо этого, вы можете использовать константы:

  • DEFAULT_OPTION — кнопки по умолчанию, отображается кнопка Ok;
  • YES_NO_CANCEL_OPTION — визуализированы кнопки Yes, No и Cancel;
  • OK_CANCEL_OPTION —визуализированы кнопки Ok и Cancel;

Результат вышеописанного метода записывается в переменную res (целочисленную). Дальнейшие действия зависят от способа, которым было закрыто окно. В случае сценария Yes , следует присвоить путь к файлу с изображением, предварительно создав на его основе объект (img=new ImageIcon(file)).