summaryrefslogtreecommitdiff
path: root/javax/swing/plaf
diff options
context:
space:
mode:
authorRoman Kennke <roman@kennke.org>2005-12-19 09:44:31 +0000
committerRoman Kennke <roman@kennke.org>2005-12-19 09:44:31 +0000
commite8f2fcedf1646524256a16d3af9b5233ee5cbf8c (patch)
treed83473efe7d98b2567a0d2b5efdf6a5b118585ce /javax/swing/plaf
parentebc7cef23e6c06061b794d93fe4b3b43f7860729 (diff)
downloadclasspath-e8f2fcedf1646524256a16d3af9b5233ee5cbf8c.tar.gz
2005-12-19 Roman Kennke <kennke@aicas.com>
* javax/swing/plaf/basic/BasicComboBoxUI.java (installListeners): Install focus listener only on editor. (configureArrowButton): Make arrow button not focusable. (setPopupVisible): Request focus for the combobox editor or comboBox, depending on whether the combobox is editable or not. * javax/swing/plaf/basic/BasicComboPopup.java (configureList): Make list not focusable.
Diffstat (limited to 'javax/swing/plaf')
-rw-r--r--javax/swing/plaf/basic/BasicComboBoxUI.java14
-rw-r--r--javax/swing/plaf/basic/BasicComboPopup.java1
2 files changed, 9 insertions, 6 deletions
diff --git a/javax/swing/plaf/basic/BasicComboBoxUI.java b/javax/swing/plaf/basic/BasicComboBoxUI.java
index 78ceccb05..288a8d89f 100644
--- a/javax/swing/plaf/basic/BasicComboBoxUI.java
+++ b/javax/swing/plaf/basic/BasicComboBoxUI.java
@@ -294,8 +294,7 @@ public class BasicComboBoxUI extends ComboBoxUI
comboBox.addPropertyChangeListener(propertyChangeListener);
focusListener = createFocusListener();
- comboBox.addFocusListener(focusListener);
- listBox.addFocusListener(focusListener);
+ editor.addFocusListener(focusListener);
itemListener = createItemListener();
comboBox.addItemListener(itemListener);
@@ -572,6 +571,7 @@ public class BasicComboBoxUI extends ComboBoxUI
{
arrowButton.setEnabled(comboBox.isEnabled());
arrowButton.setFont(comboBox.getFont());
+ arrowButton.setFocusable(false);
}
/**
@@ -624,12 +624,14 @@ public class BasicComboBoxUI extends ComboBoxUI
public void setPopupVisible(JComboBox c, boolean v)
{
if (v)
- {
- popup.show();
- popup.getList().requestFocus();
- }
+ popup.show();
else
popup.hide();
+
+ if (comboBox.isEditable())
+ editor.requestFocus();
+ else
+ comboBox.requestFocus();
}
/**
diff --git a/javax/swing/plaf/basic/BasicComboPopup.java b/javax/swing/plaf/basic/BasicComboPopup.java
index 73979bb89..08dab7f9f 100644
--- a/javax/swing/plaf/basic/BasicComboPopup.java
+++ b/javax/swing/plaf/basic/BasicComboPopup.java
@@ -442,6 +442,7 @@ public class BasicComboPopup extends JPopupMenu implements ComboPopup
{
list.setModel(comboBox.getModel());
list.setVisibleRowCount(comboBox.getMaximumRowCount());
+ list.setFocusable(false);
installListListeners();
}