Index: javax/swing/JOptionPane.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/JOptionPane.java,v retrieving revision 1.18 diff -u -r1.18 JOptionPane.java --- javax/swing/JOptionPane.java 30 Sep 2005 19:13:23 -0000 1.18 +++ javax/swing/JOptionPane.java 3 Oct 2005 15:18:11 -0000 @@ -509,6 +509,8 @@ */ public Object getInputValue() { + if (getValue().equals(new Integer(CANCEL_OPTION))) + setInputValue(null); return inputValue; } @@ -1124,8 +1126,10 @@ JInternalFrame frame = pane.createInternalFrame(parentComponent, null); startModal(frame); - - return ((Integer) pane.getValue()).intValue(); + + if (pane.getValue() instanceof Integer) + return ((Integer) pane.getValue()).intValue(); + return -1; } /** @@ -1150,7 +1154,9 @@ startModal(frame); - return ((Integer) pane.getValue()).intValue(); + if (pane.getValue() instanceof Integer) + return ((Integer) pane.getValue()).intValue(); + return -1; } /** @@ -1176,7 +1182,9 @@ startModal(frame); - return ((Integer) pane.getValue()).intValue(); + if (pane.getValue() instanceof Integer) + return ((Integer) pane.getValue()).intValue(); + return -1; } /** @@ -1204,7 +1212,9 @@ startModal(frame); - return ((Integer) pane.getValue()).intValue(); + if (pane.getValue() instanceof Integer) + return ((Integer) pane.getValue()).intValue(); + return -1; } /** @@ -1380,8 +1390,10 @@ JInternalFrame frame = pane.createInternalFrame(parentComponent, title); startModal(frame); - - return ((Integer) pane.getValue()).intValue(); + + if (pane.getValue() instanceof Integer) + return ((Integer) pane.getValue()).intValue(); + return -1; } /** @@ -1468,7 +1480,9 @@ dialog.pack(); dialog.show(); - return ((Integer) pane.getValue()).intValue(); + if (pane.getValue() instanceof Integer) + return ((Integer) pane.getValue()).intValue(); + return -1; } /**