<Swing Dev> [10] RFR: 8182577: Crash when Tab key moves focus to a JCheckbox with a custom ButtonModel

Sergey Bylokhov sergey.bylokhov at oracle.com
Wed Jun 21 15:12:25 UTC 2017


I think that the current version is not applicable to jdk10. We cannot add a new non-default methods to the interface, because this will break all subclasses.  

> 
> ok. Modified webrev:
> 
> http://cr.openjdk.java.net/~psadhukhan/8182577/webrev.02/
> 
> Regards
> Prasanta
> On 6/21/2017 7:45 PM, Semyon Sadetsky wrote:
>> Hi Prasanta,
>> 
>> Ii is not necessary to cast to DefaultButtonModel after you add getGroup() to ButtonModel:
>> 
>> 241                 ButtonModel model = ((JToggleButton)aComponent).getModel();
>> 
>> --Semyon
>> 
>> On 06/20/2017 10:36 PM, Prasanta Sadhukhan wrote:
>>> Hi Semyon,
>>> 
>>> Yes, it seems the problem will be there in that case. Modified to have getGroup() in the interface
>>> http://cr.openjdk.java.net/~psadhukhan/8182577/webrev.01/
>>> 
>>> Regards
>>> Prasanta
>>> On 6/20/2017 11:16 PM, Semyon Sadetsky wrote:
>>>> Hi Prasanta,
>>>> 
>>>> With the DefaultButtonModel we can get the same exception if a custom implementation of the ButtonModel is used.
>>>> 
>>>> So, it is better check whether  the model is a DefaultButtonModel and skip if grouping is not supported. Or, perhaps, it is reasonable to pull up the getGroup() into the ButtonModel interface which already has setGroup().
>>>> 
>>>> --Semyon
>>>> 
>>>> 
>>>> On 06/20/2017 10:21 AM, Prasanta Sadhukhan wrote:
>>>>> Hi All,
>>>>> 
>>>>> Please review a fix for an issue where a crash is reported when focus is moved with custom ButtonModel.
>>>>> Issue was in LayoutFocusTraversalPolicy, the ButtonModel was wrongly typecasted to JToggleButton when the button model is DefaultButtonModel, resulting in ClassCastException.
>>>>> 
>>>>> Proposed fix is to cast to super class DefaultButtonModel and then check for JToggleButton member.
>>>>> 
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8182577
>>>>> webrev: http://cr.openjdk.java.net/~psadhukhan/8182577/webrev.00/
>>>>> 
>>>>> Regards
>>>>> Prasanta
>>>> 
>>> 
>> 
> 




More information about the swing-dev mailing list