<div dir="ltr">Hi all,<div><br></div><div>I don't use RT controls, so I can't comment about the specifics of this or other implementations. However, people raised some good points that I would like to be more specific about.</div><div><br></div><div>1. Can the "components" of the RTA be separated out so that other controls can use them? For example, colored text segments and highlights can be useful in any text control, like Label and TextField.</div><div>2. About creating new controls and the difficulty involved, aren't the long discussions about splitting the behavior, skin, input etc. and John's proposal in that regard addressing exactly that, giving the ability to compose "facets" into controls?</div><div>3. It's obvious that the bar for what goes into a library (JavaFX, JDK and all other GUI toolkits) is fluid. We don't *have* to provide a Button because any 3rd party library can make one, but we all agree that it's a good idea. More complex controls, like color picker and date picker could be more controversial as they are not entirely standardized, but I think it's OK to have them. The question is, how far does this go? Perhaps what can help here is to look at various GUI toolkits and see what they provide so we know what users expect. It also matters if they are intended for use on mobile, in which case the set of controls is somewhat different.</div><div><br></div><div>- Nir</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 21, 2024 at 8:07 PM Andy Goryachev <<a href="mailto:andy.goryachev@oracle.com">andy.goryachev@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg5731285697587616556">
<div lang="EN-US" style="overflow-wrap: break-word;">
<div class="m_5731285697587616556WordSection1">
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light"">Dear JavaFX developers:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light"">Sincerely,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light"">Your friendly JavaFX development team.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light"">References<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;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" target="_blank">
https://github.com/andy-goryachev-oracle/Test/blob/rich.jep.review/doc/RichTextArea/RichTextArea.md</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;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" target="_blank">
https://github.com/andy-goryachev-oracle/Test/blob/rich.jep.review/doc/RichTextArea/RichTextAreaDiscussion.md</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light"">[2] API specification (javadoc):
<a href="https://cr.openjdk.org/~angorya/RichTextArea/javadoc" target="_blank">https://cr.openjdk.org/~angorya/RichTextArea/javadoc</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light"">[3] Draft Pull Request for API comments and feedback:
<a href="https://github.com/openjdk/jfx/pull/1374" target="_blank">https://github.com/openjdk/jfx/pull/1374</a><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="DE" style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light"">[4] RichTextArea RFE:
<a href="https://bugs.openjdk.org/browse/JDK-8301121" target="_blank">https://bugs.openjdk.org/browse/JDK-8301121</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16 Light"">[5] Missing APIs related to rich text control:
<a href="https://bugs.openjdk.org/browse/JDK-8300569" target="_blank">https://bugs.openjdk.org/browse/JDK-8300569</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:"Iosevka Fixed SS16""><u></u> <u></u></span></p>
</div>
</div>
</div></blockquote></div>