Hi Sergey,

        The webrev is updated with using System.lineSeparator() instead of 
System.getProperty("line.separator").

        Webrev: http://cr.openjdk.java.net/~rchamyal/ambarish/8055197/webrev.01/

        Reason for using array:
                System.lineSeparator()  differs platform wise.
                Windows: \r\n
                Linux: \n
                Mac: \r

                But '\n' is a generic new line character, which programmers can 
add manually in string as,  "Row1 \n Row2"
                To handle this case, have added it in array.
                There is also a bug reported for this case,
                https://bugs.openjdk.java.net/browse/JDK-7186036 : TextField 
class does not show text after CR on Windows

                Similarly '\r' can also be considered,
                but '\r' is not commonly used &
                Also presence of '\r' in string does not result in truncation 
of text.


Many Thanks,
Ambarish

-----Original Message-----
From: Sergey Bylokhov 
Sent: Thursday, October 29, 2015 12:20 AM
To: Ambarish Rapte; awt-dev@openjdk.java.net; Alexander Scherbatiy
Subject: Re: Review Request for 8055197: TextField deletes multiline strings

Hi, Ambarish.
What is the reason to use this array? 
{System.getProperty("line.separator"), "\n"} Why we cannot use only the 
System.getProperty("line.separator") or which is simpler the 
System.lineSeparator();

On 14.10.15 19:44, Ambarish Rapte wrote:
> Dear All,
>
>      Please review the patch for jdk9.
>      Bug: https://bugs.openjdk.java.net/browse/JDK-8055197
>      Webrev: 
> http://cr.openjdk.java.net/~rchamyal/ambarish/8055197/webrev.00/
>
>
> Issue:
>      - If text containing new line character is set to TextField, Text after 
> new line character was terminated.
>      - Issue occurs only on windows.
>
> Cause:
>      - For windows new line character is   ā€˜\r\n’.
>      - For windows code this new line character was not replaced by space 
> character.
>      - Other platforms replace the EOL character by space character.
>
> Fix:
>      - Added code to TextComponent.java to remove EOL on java side before 
> passing to peer.
>        => Added a private method replaceEOL() , which replaces EOL by space.
>        => removeEOL will be called by newly added TextComponent 
> construcotr and setText()
>
>      - The text variable on in TextComponent.java & on string displayed on 
> native side will be same.
>
>
>
> Many Thanks,
> Ambarish
>


--
Best regards, Sergey.

Reply via email to