summaryrefslogtreecommitdiff
path: root/javax/swing/plaf/basic/BasicOptionPaneUI.java
diff options
context:
space:
mode:
authorLillian Angel <langel@redhat.com>2005-09-21 15:32:30 +0000
committerLillian Angel <langel@redhat.com>2005-09-21 15:32:30 +0000
commitd72cadfe11c557bfb27a9a3ac3549304e77816b4 (patch)
tree39bd327bbc61ab1037c4c06f5288490370468fe4 /javax/swing/plaf/basic/BasicOptionPaneUI.java
parent3b05125ca6985ae15d2fe64503a11f3e3023038d (diff)
downloadclasspath-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.java20
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;
}