RFR: 8209788: Left/Right/Ctrl+A keys not working in editor of ComboBox if popup showing
Ambarish Rapte
arapte at openjdk.java.net
Sat Apr 11 10:17:24 UTC 2020
The issue occurs because the key events are consumed by the `ListView` in `Popup`, which displays the items.
This is a regression of [JDK-8077916](https://bugs.openjdk.java.net/browse/JDK-8077916). This change aadded several
`KeyMapping`s for focus traversals to `ListView`, which consume the `Left`, `Right` and `Ctrl+A` key events.
Fix:
1. Remove the four focus traversal arrow `KeyMapping`s from `ListViewBehavior`.
2. Add the `Ctrl + A` `KeyMapping` to `ListViewBehavior` only if the `ListView`'s selection mode is set to
`SelectionMode.MULTIPLE`. `ComboBox` uses the `ListView` with `SelectionMode.SINGLE` mode.
Change unrelated to fix:
`ComboBoxListViewBehavior` adds `KeyMapping` for `Up` and `Down` keys, which are not invoked when the `ComboBox` popup
is showing. When the popup is shown, the Up and Down key events are handled by the `ListView` and the `KeyMapping` code
from `ComboBoxListViewBehavior` does not get executed. These KeyMapping are removed. However this change is not needed
for the fix. But this seems to be dead code.
Verification:
Added new unit tests to verify the change.
Also verified that the behavior ListView behaves same before and after this change.
-------------
Commit messages:
- 8209788: Left/Right/Ctrl+A keys not working in editor of ComboBox if popup showing
Changes: https://git.openjdk.java.net/jfx/pull/172/files
Webrev: https://webrevs.openjdk.java.net/jfx/172/webrev.00
Issue: https://bugs.openjdk.java.net/browse/JDK-8209788
Stats: 211 lines in 6 files changed: 151 ins; 49 del; 11 mod
Patch: https://git.openjdk.java.net/jfx/pull/172.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/172/head:pull/172
PR: https://git.openjdk.java.net/jfx/pull/172
More information about the openjfx-dev
mailing list