On 9/15/2016 11:47 AM, Semyon Sadetsky wrote:
On 14.09.2016 21:00, Alexandr Scherbatiy wrote:
On 9/14/2016 6:41 PM, Alexandr Scherbatiy wrote:
On 9/14/2016 1:48 PM, Semyon Sadetsky wrote:
Hello,
Please review fix for JDK9:
bug: https://bugs.openjdk.java.net/browse/JDK-8154043
webrev: http://cr.openjdk.java.net/~ssadetsky/8154043/webrev/
The new RadioButton group focus traversal algorithm introduced by
JDK-8033699 doesn't take into account that group of radio buttons
can be lay-outed in several lines in container. In this case the
LayoutFocusTraversalPolicy may mix radio buttons of the same group
with other components in its focus traversal order and break the
assumption used in
BasicRadioButtonUI#getFocusTransferBaseComponent() that radio
buttons are sequenced in the focus policy order.
The fix propose to treat a group of toggle buttons as a single
focus cycle entry in the LayoutFocusTraversalPolicy which order is
determined by the first toggle button in the group.
Should the test for the fix JDK-8033699
test/javax/swing/JRadioButton/8033699/bug8033699.java be updated as
well?
Is it possible to move the focus from the current radio button to
the next component which does not belong to the current radio buttons
group by pressing tab key?
For example in the test FocusCycleRootTest from the issue
description, moving the focus from the first and the second radio
button to the text field 1 and from the third and the fourth radio
button to the text field 2.
It is possible. But then the group will get focus second (or more)
time during the cycle. Seems, this is not correct because option in
the group has already been selected.
It is not clear is it correct that pressing an arrow key selects a
radio button in a group. For example each radio button selection can
trigger some action. So trying to select the latest radio button it is
necessary to move the focus from the first button to the last by arrow
keys so radio buttons in the middle will also be unnecessary selected.
Usually the space key is responsible to a button selection.
Also it looks inconsistent when the second option is skipped in the
cycle while the third is not.
This is because the tab key is pressed which can move the focus from
the group and back. The arrow keys are used to move the focus in the group.
It preserves the tab key behavior before the fix 8033699 except radio
buttons in the group.
Thanks,
Alexandr.
--Semyon
Thanks,
Alexandr.
Thanks,
Alexandr.
--Semyon