<Swing Dev> RFR: 8249548: backward focus traversal gets stuck in button group

Pankaj Bansal pankaj.b.bansal at oracle.com
Sat Aug 8 18:17:16 UTC 2020

Gentle ping, any reviewers?



On 30/07/20 3:34 PM, Pankaj Bansal wrote:
> ping, any reviewers?
> Regards,
> Pankaj
> On 26/07/20 4:24 PM, Pankaj Bansal wrote:
>> Hi All,
>> Please review the following fix for jdk16.
>> Bug : https://bugs.openjdk.java.net/browse/JDK-8249548
>> webrev: http://cr.openjdk.java.net/~pbansal/8249548/webrev00/ 
>> <http://cr.openjdk.java.net/%7Epbansal/8249548/webrev00/>
>> Issue: If few ToggleButtons are added to button group, the backward 
>> focus traversal can get stuck in few scenarios while using 
>> LayoutFocusTraversalPolicy. For exaple, if a TextField is added to a 
>> frame and a Button Group is added with two buttons and the second 
>> button in set selected, we can not move the focus from Button Group 
>> to Text Field using "Shift+Tab". More details in JBS.
>> Cause: The LayoutFocusTraversalPolicy uses 
>> SortingFocusTraversalPolicy always selects first button for focus 
>> traversal in button group for Toggle Button. This can be changed by 
>> Component if one of the button in the button group is set selected. 
>> This results in the selected Button being selected again and again 
>> for selection on pressing "Shift+Tab". This results in focus being 
>> stuck at same position. This is a generic issue and it is observed in 
>> all L&F for JToggleButton.
>> The JRadioButton does not have this issue as BasicRadioButtonUI and 
>> AquaRadioButtonUI have code to handle this issue but the Synth L&F 
>> has this issue for JRadioButton also. So, this issue can be observed 
>> in both ToggleButton and RadioButton in nimbus L&F.
>> Fix: The fix is to add the code to handle this in BasicButtonUI 
>> class, so that it is available for all L&F without copying it in 
>> different L&F classes. The focus traversal works fine after this 
>> change for all L&F for both ToggleButton and RadioButton. Along with 
>> the current problem, this fix is also fixes issue like we cant change 
>> the selected button and focus in ToggleButton group like RadioButton 
>> group.
>> An automated test is added. I have ran the Mach5 with all tests and 
>> this is not causing any failures. Links in JBS.
>> Regards
>> Pankaj

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/swing-dev/attachments/20200808/c46718a7/attachment.htm>

More information about the swing-dev mailing list