<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    All,<br>
    <br>
    Thank you to everyone who has provided feedback on the RichText
    proposal so far. If I could characterize the response, there are
    some developers who want at least a basic rich text control
    available as part of the JavaFX core and other developers who don't
    think that such a control should be in the JavaFX core at all.<br>
    <br>
    This doesn't really come as a surprise to me, since rich text is a
    complex feature, and we really don't have enough feedback to know
    how much of it -- if any -- belongs in the core of JavaFX, and if it
    does, what form the eventual API should take.<br>
    <br>
    I happen to think there is value in providing at least a basic rich
    text control. One of the main reasons for proposing this as an
    incubating feature in a separate, incubator module, is that we don't
    know whether and how application developers will want to use this,
    and whether this proposal hits the sweet spot of a sufficiently
    full-featured control without being too complex, especially in terms
    of API surface which is something I am concerned about.<br>
    <br>
    As an incubating feature, we have the ability to modify the API and
    implementation in incompatible ways in response to feedback, or to
    drop it from the core entirely, perhaps making it available some
    other way. Shipping this in an incubator module is a good way to get
    that feedback. That doesn't mean that it can go in before it is
    ready. Even as an incubator, this will require a fairly long review
    process; incubator modules are not a way to deliver features in
    early stages of development nor "experimental" features.<br>
    <br>
    If this goes in as an incubating feature in some future release of
    JavaFX, subsequent releases will do one of three things: 1) evolve
    the API in response to feedback; 2) finalize the API; 3) drop the
    API. As an aside, I hope that the updated incubator JEP makes this a
    little more clear.<br>
    <br>
    I'm sure Andy will welcome additional feedback, especially on the
    concepts and on the API. I haven't done a complete review of the API
    myself, and there are areas I am concerned about, but that's what
    the review process will discuss.<br>
    <br>
    -- Kevin<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 2/21/2024 10:07 AM, Andy Goryachev
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:BL3PR10MB6185D054232AEE40C10F1DA5E5572@BL3PR10MB6185.namprd10.prod.outlook.com">
      
      <meta name="Generator" content="Microsoft Word 15 (filtered medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:"Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}@font-face
        {font-family:"Iosevka Fixed SS16";
        panose-1:2 0 5 9 3 0 0 0 0 4;}@font-face
        {font-family:"Times New Roman \(Body CS\)";
        panose-1:2 11 6 4 2 2 2 2 2 4;}@font-face
        {font-family:"\@Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}@font-face
        {font-family:"Iosevka Fixed SS16 Light";
        panose-1:2 0 4 9 3 0 0 0 0 4;}@font-face
        {font-family:AppleSystemUIFont;
        panose-1:2 11 6 4 2 2 2 2 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:12.0pt;
        font-family:"Calibri",sans-serif;
        mso-ligatures:standardcontextual;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Iosevka Fixed SS16";
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}div.WordSection1
        {page:WordSection1;}</style>
      <div class="WordSection1">
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light"">Dear
            JavaFX developers:<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light""><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light"">We
            would like to propose a new feature - rich text control,
            RichTextArea, intended to bridge the functional gap with
            Swing and its StyledEditorKit/JEditorPane.  The main design
            goal is to provide a control that is complete enough to be
            useful out-of-the box, as well as open to extension by the
            application developers.<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light""><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light"">This
            is a complex feature with a large API surface that would be
            nearly impossible to get right the first time, even after an
            extensive review.  We are, therefore, introducing this in an
            incubating module, <b>javafx.incubator.richtext</b>.   This
            will allow us to evolve the API in future releases without
            the strict compatibility constraints that other JavaFX
            modules have.<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light""><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light"">Please
            take a look at the proposal [0], a list of discussion points
            [1], and the API Specification (javadoc) [2]. While the
            proposed API is ready for review, it isn't complete nor set
            in stone. We are looking for feedback, and will update the
            proposal based on the suggestions we receive from the
            community.  We encourage you to comment either in the
            mailing list, or by leaving comments inline in a draft pull
            request [3].  For context, the links to the original RFE [4]
            and a list of missing APIs related to rich text [5] are
            provided below.<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light""><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light"">Sincerely,<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light"">Your
            friendly JavaFX development team.<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light""><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light""><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light"">References<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light""><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light""><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light"">[0]
            Proposal:
            <a href="https://github.com/andy-goryachev-oracle/Test/blob/rich.jep.review/doc/RichTextArea/RichTextArea.md" moz-do-not-send="true" class="moz-txt-link-freetext">
https://github.com/andy-goryachev-oracle/Test/blob/rich.jep.review/doc/RichTextArea/RichTextArea.md</a><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light"">[1]
            Discussion points:
            <a href="https://github.com/andy-goryachev-oracle/Test/blob/rich.jep.review/doc/RichTextArea/RichTextAreaDiscussion.md" moz-do-not-send="true" class="moz-txt-link-freetext">
https://github.com/andy-goryachev-oracle/Test/blob/rich.jep.review/doc/RichTextArea/RichTextAreaDiscussion.md</a><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light"">[2]
            API specification (javadoc):
            <a href="https://cr.openjdk.org/~angorya/RichTextArea/javadoc" moz-do-not-send="true" class="moz-txt-link-freetext">https://cr.openjdk.org/~angorya/RichTextArea/javadoc</a><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light"">[3]
            Draft Pull Request for API comments and feedback:
            <a href="https://github.com/openjdk/jfx/pull/1374" moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/openjdk/jfx/pull/1374</a><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light"" lang="DE">[4] RichTextArea RFE:
            <a href="https://bugs.openjdk.org/browse/JDK-8301121" moz-do-not-send="true" class="moz-txt-link-freetext">https://bugs.openjdk.org/browse/JDK-8301121</a><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16 Light"">[5]
            Missing APIs related to rich text control:
            <a href="https://bugs.openjdk.org/browse/JDK-8300569" moz-do-not-send="true" class="moz-txt-link-freetext">https://bugs.openjdk.org/browse/JDK-8300569</a><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>