Почему JOptionPane.getValue () продолжает возвращать uninitializedValue - PullRequest
0 голосов
/ 26 ноября 2010

Ниже мой код

public static void main(String args[]){
     JOptionPane pane = new JOptionPane();
     pane.showInputDialog(null, "Question");
     Object value = value.getValue();
     System.out.println(value.toString()); --> this will print out uninitializedValue

}

Я хочу определить, когда пользователь нажимает кнопку отмены в JOptionPane и когда пользователь закрывает JOptionPane

Ответы [ 2 ]

3 голосов
/ 26 ноября 2010

Вы должны сделать это:

    String s = JOptionPane.showInputDialog(null, "Question");
    System.out.println(s);

Это вернет строку null, если панель закрыта или нажата кнопка Отмена.

2 голосов
/ 26 ноября 2010

showInputDialog - статический метод, он не изменяет JOptionPane.Как указывает собачья баня, вы должны проверить возвращаемое значение showInputDialog.

Некоторые компиляторы генерируют предупреждения, если вы вызываете статические методы в экземплярах, поэтому всегда проверяйте предупреждения компилятора.В вашем случае вызовите метод следующим образом:

String result = JOptionPane.showInputDialog(null, "Question");
if(result == null){
//chancel pressed
}else{
//normal code
}
...