diff options
author | Roman Kennke <roman@kennke.org> | 2005-12-19 09:44:31 +0000 |
---|---|---|
committer | Roman Kennke <roman@kennke.org> | 2005-12-19 09:44:31 +0000 |
commit | e8f2fcedf1646524256a16d3af9b5233ee5cbf8c (patch) | |
tree | d83473efe7d98b2567a0d2b5efdf6a5b118585ce /javax/swing/plaf | |
parent | ebc7cef23e6c06061b794d93fe4b3b43f7860729 (diff) | |
download | classpath-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.java | 14 | ||||
-rw-r--r-- | javax/swing/plaf/basic/BasicComboPopup.java | 1 |
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(); } |