<Swing Dev> [9] Review Request for 6866751: J2SE_Swing_Reg: the caret disappears when moving to the end of the line.

Semyon Sadetsky semyon.sadetsky at oracle.com
Wed Apr 1 14:45:08 UTC 2015


Hi Sergey,

I have added reading of the client property. It will also allow user to 
adjust the right margin for caret. The test scenario is also extended.

the updated webrev: http://cr.openjdk.java.net/~ssadetsky/6866751/webrev.01/

--Semyon


On 3/24/2015 9:10 AM, Semyon Sadetsky wrote:
> Hi Sergey,
>
> On 3/23/2015 5:41 PM, Sergey Bylokhov wrote:
>> Hi, Semyon.
>> It seems that "Caret.width" is platform specific property, right? 
>> (looks like it is initialized on windows only). 
> It can be set on any platform. If it is not set we take 1px which is 
> the default cursor width.
>
>> What happens if the user will set the size/aspect of the caret via 
>> "putClientProperty" after the fix? 
> It depends on specific Cursor implementation.
>
>> It seems that correct width of the caret can be obtained via 
>> DefaultCaret.getCaretWidth (It takes into account both properties: 
>> aspectRatio/caretWidth). Probably we can push implementation of this 
>> method to the Caret class itself(in jdk9) or at least share the code 
>> somehow? Note that we can initialize caretWidth for each L&F by 
>> default to 1(or to Caret.width) if this value is correct, so the user 
>> will be able take current value which is used by Swing.
> DefaultCaret.getCaretWidth(height) has package visibility.
> DefaultCaret implementation can be retired by API 
> JTextComponet.setCaret(Caret). So what you've proposed is not a 
> complete solution as well.
> An introduction a new method in the Caret interface is too drastic 
> change. And I'm not sure that font height can be the only parameter 
> for all possible Caret implementations.
>
> 1px seems a good solution for the issue because caret width=1px in 
> 99.9% cases. Currently under the System LnF we don't see this 1px 
> caret at all on platforms. That solution will be a great improvment.
>
> For specific situations like custom caret aspect ratio and custom 
> caret shape I'm not sure. If we add the full right text padding for 
> such situations users who already use custom carets may not expect 
> such behavior. It can be too noticeable change when all text 
> components will receive large right padding.
>
> --Semyon
>
>>
>> 23.03.15 14:57, Semyon Sadetsky wrote:
>>> +description
>>> Cursor size is added to any text control preferred width.
>>>
>>> On 3/23/2015 2:33 PM, Semyon Sadetsky wrote:
>>>> Hello,
>>>>
>>>> Please review JDK9 fix.
>>>>
>>>> webrev: 
>>>> http://cr.openjdk.java.net/~alexsch/semyon-sadetsky/6866751/webrev.00/
>>>> bug: https://bugs.openjdk.java.net/browse/JDK-6866751
>>>>
>>>> Thanks!
>>>> --Semyon
>>>
>>
>>
>




More information about the swing-dev mailing list