Получите возвращаемое значение JOptionPane
-
06-07-2019 - |
Вопрос
Мой код JOptionPane выглядит следующим образом:
selectedSiteName = JOptionPane.showInputDialog("Enter the name of the new site:");
Это визуализирует ввод с помощью текстового поля и кнопок «ОК» и «Отмена».Мне нужно определить, была ли нажата кнопка «Отмена».
Ваше здоровье.
Решение
Проверьте, выбрано ли выбранноеSiteName == null .
Это произойдет, если пользователь нажмет кнопку «Отмена» или закроет диалоговое окно.
Другие советы
Прочтите API JOptionPane и перейдите по ссылке на учебник Swing «Как использовать диалоги», чтобы увидеть рабочий пример.
if(selectedSiteName == JOptionPane.CANCEL_OPTION)
{
}
должно сработать.
JOptionPane расширяет JComponent.
Методы JOptionPane
1) .showMessageDialog();// ПУСТОТА :-(
2) .showInputDialog();// возвращаем СТРОКУ :-)
3) .showConfirmDialog();// возвращаем целое :-)
-> и многое другое...
Пример:
void myMethod() {
JDialog jd = new JDialog();
jd.setDefaultCloseOperation(1);
JOptionPane jop = new JOptionPane();
int val = jop.showConfirmDialog(jd, "Hello");
if(val == 0) jop.showMessageDialog(null, "Success", "INFO", jop.INFORMATION_MESSAGE);
System.out.println(val);
jd.add(jop);
}
Полезная ссылка:
- Почему JOptionPane.getValue() продолжает возвращать неинициализированное значение
- https://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html