diff options
author | Lillian Angel <langel@redhat.com> | 2005-09-21 15:32:30 +0000 |
---|---|---|
committer | Lillian Angel <langel@redhat.com> | 2005-09-21 15:32:30 +0000 |
commit | d72cadfe11c557bfb27a9a3ac3549304e77816b4 (patch) | |
tree | 39bd327bbc61ab1037c4c06f5288490370468fe4 /javax/swing/plaf/basic/BasicOptionPaneUI.java | |
parent | 3b05125ca6985ae15d2fe64503a11f3e3023038d (diff) | |
download | classpath-d72cadfe11c557bfb27a9a3ac3549304e77816b4.tar.gz |
2005-09-21 Lillian Angel <langel@redhat.com>
Fixes Bug #23937
* javax/swing/plaf/basic/BasicOptionPaneUI.java
(propertyChange): When WANTS_INPUT_PROPERTY is changed,
the buttons should be updated.
(getButtons): Applied patch in bug report. Sets default
buttons.
Diffstat (limited to 'javax/swing/plaf/basic/BasicOptionPaneUI.java')
-rw-r--r-- | javax/swing/plaf/basic/BasicOptionPaneUI.java | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/javax/swing/plaf/basic/BasicOptionPaneUI.java b/javax/swing/plaf/basic/BasicOptionPaneUI.java index aa648d74d..81e9b37de 100644 --- a/javax/swing/plaf/basic/BasicOptionPaneUI.java +++ b/javax/swing/plaf/basic/BasicOptionPaneUI.java @@ -405,10 +405,14 @@ public class BasicOptionPaneUI extends OptionPaneUI || e.getPropertyName().equals(JOptionPane.WANTS_INPUT_PROPERTY) || e.getPropertyName().equals(JOptionPane.SELECTION_VALUES_PROPERTY)) { - optionPane.removeAll(); - messageAreaContainer = createMessageArea(); - optionPane.add(messageAreaContainer); - optionPane.add(buttonContainer); + optionPane.remove(messageAreaContainer); + messageAreaContainer = createMessageArea(); + optionPane.add(messageAreaContainer); + Container newButtons = createButtonArea(); + optionPane.remove(buttonContainer); + optionPane.add(newButtons); + buttonContainer = newButtons; + optionPane.add(buttonContainer); } optionPane.invalidate(); optionPane.repaint(); @@ -941,11 +945,17 @@ public class BasicOptionPaneUI extends OptionPaneUI { case JOptionPane.YES_NO_OPTION: return new Object[] { YES_STRING, NO_STRING }; - case JOptionPane.DEFAULT_OPTION: case JOptionPane.YES_NO_CANCEL_OPTION: return new Object[] { YES_STRING, NO_STRING, CANCEL_STRING }; case JOptionPane.OK_CANCEL_OPTION: return new Object[] { OK_STRING, CANCEL_STRING }; + case JOptionPane.DEFAULT_OPTION: + return (optionPane.getWantsInput() ) ? + new Object[] { OK_STRING, CANCEL_STRING } : + ( optionPane.getMessageType() == JOptionPane.QUESTION_MESSAGE ) ? + new Object[] { YES_STRING, NO_STRING, CANCEL_STRING } : + // ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, PLAIN_MESSAGE + new Object[] { OK_STRING }; } return null; } |