<Swing Dev> [9] Review request for 8008657 JSpinner setComponentOrientation doesn't affect on text orientation

Alexander Scherbatiy alexandr.scherbatiy at oracle.com
Fri Jan 24 10:14:07 UTC 2014


   Could you review the updated fix:
     http://cr.openjdk.java.net/~alexsch/8008657/webrev.02/

    The applyComponentOrientation() method is only invoked for the 
spinner editor.

On 1/24/2014 2:21 AM, Sergey Bylokhov wrote:
> Hi, Alexander.
> Why the change in the BasicSpinnerUI is required? Can we call a 
> revalidate/repaint in the JSpinner.setComponentOrientation()?
     All of the wing classes use the revalidate/repaint for the 
"componentOrientation" event in L&Fs.
     Using it in JSpinner.setComponentOrientation() makes a mess in the 
"componentOrientation" event handling.
     I think that  we should use the unified way in this case.

     If using revalidate/repaint in L&F for property updating is totally 
wrong (which is used a lot, see redrawList() for BasicListUI or 
modelChanged() for BasicTextUI and others)
     then it is better to file a new issue about events handling 
refactoring in Swing classes/L&Fs

> Note that JSpinner is a JComponent which is Container, so when you 
> call applyComponentOrientation on it you apply new orientation to the 
> whole JSpinner hierarchy, and it looks wrong.(I know that it is 
> unlikely).
      The only way it can be done in this case is invoking the 
applyComponentOrientation() for the spinner editor.
      The editor can be any JComponent. We can go further and check if 
the editor is the DefaultEditor and set the component orientation only 
for the editor text field.
      However, it seems possible that a user can add some other 
components to the DefaultEditor.

   Thanks,
   Alexandr.
>
> On 23.01.2014 19:06, Alexander Scherbatiy wrote:
>>
>>
>> Could you review the updated fix:
>>   http://cr.openjdk.java.net/~alexsch/8008657/webrev.01
>>
>>   - revalidate()/repaint() is added after component orientation 
>> applying in the same way as it is done for the JTextFiled
>>   - there is one more issue that a text in the Number editor should 
>> stick to the arrows. It is fixed in the NumberEditor class.
>>
>>  Thanks,
>>  Alexandr.
>>
>> On 1/22/2014 6:00 PM, Sergey Bylokhov wrote:
>>> Hello, Alexander.
>>> Is updateUI needed to fix the problem? Since 
>>> applyComponentOrientation calls invalidateIfValid  anyway.
>>>
>>> On 20.01.2014 17:50, Alexander Scherbatiy wrote:
>>>>
>>>> Hello,
>>>>
>>>> Could you review the fix:
>>>>   bug: https://bugs.openjdk.java.net/browse/JDK-8008657
>>>>   webrev: http://cr.openjdk.java.net/~alexsch/8008657/webrev.00
>>>>
>>>>  The "componentOrientation" property change event should be 
>>>> propagated to the JSpinner editor component.
>>>>
>>>> Thanks,
>>>> Alexandr.
>>>>
>>>
>>>
>>
>
>




More information about the swing-dev mailing list