Получить возвращаемое значение JOptionPane - PullRequest
9 голосов
/ 01 августа 2009

Мой код JOptionPane выглядит следующим образом:

selectedSiteName = JOptionPane.showInputDialog("Enter the name of the new site:");

Отображает ввод с текстовым полем и кнопками ОК и Отмена. Мне нужно определить, была ли нажата кнопка Отмена.

Приветствие.

Ответы [ 4 ]

14 голосов
/ 01 августа 2009

Проверьте, если selectedSiteName == null.
Это будет иметь место, если пользователь нажимает кнопку Отмена или закрывает диалоговое окно.

0 голосов
/ 07 июля 2018

JOptionPane расширяет JComponent.

Методы JOptionPane
1) .showMessageDialog (); // VOID :-(
2) .showInputDialog (); // возвращаем STRING: -)
3) .showConfirmDialog (); // возвращаем int: -)
-> и многое другое ...

Пример:

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

0 голосов
/ 16 июня 2010
if(selectedSiteName == JOptionPane.CANCEL_OPTION)
{


}

должно работать.

0 голосов
/ 01 августа 2009

Прочтите API JOptionPane и перейдите по ссылке на Swing turorial в разделе «Как использовать диалоги» для рабочего примера.

...