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

Kevin Rushforth kevin.rushforth at oracle.com
Wed Jun 21 15:19:21 UTC 2017


Two quick comments:

1) Is ButtonModel an interface that applications would ever implement? 
If so, then it is an incompatible change, since there is no default 
implementation of the new method.

2) You should add the '@since 10' javadoc tag to the new method.

-- Kevin


Semyon Sadetsky wrote:
> Looks good. You will need to have CCC approval before push.
>
> --Semyon
>
>
> On 06/21/2017 07:55 AM, Prasanta Sadhukhan wrote:
>> 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