<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