Помимо статических методов, класс 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)).