<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