<div dir="auto">I'm speaking from ignorance, but in the same way that java 2d lets you do image reading and writing with great tools to implement it, but it also provides defaults for png, gif, jpeg, etc.<div dir="auto"><br></div><div dir="auto">A good foundation to build your own is critical. But it does not obviate the need for a useful default.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 22, 2024, 8:46 PM John Hendrikx <<a href="mailto:john.hendrikx@gmail.com">john.hendrikx@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<p>Hi,<br>
</p>
<p>Far be it from me to tell the FX team what it should do, I am
still wondering the following:</p>
<p>- A 3rd party control, RichTextFX already exists -- what is this
new proposal adding that RichTextFX does not have?<br>
- What (if anything) is stopping a 3rd party from building a
RichTextArea themselves?<br>
</p>
<p>In other words, I think the FX team ought to focus on
**facilitating** the building of complex controls like
RichTextArea, by identifying gaps in the current Control API that
is **stopping** 3rd parties from doing this themselves in the same
integrated manner as a "native" FX control.</p>
<p>Enabling thousands or tens of thousand of developers to build
more complicated controls seems to me like a much better
investment than what I think will be a significant investment in
one of the most complex controls imaginable. RichTextFX was
actively developed over a 4 year period, with 45 contributors and
over 1400 commits (for comparison, JavaFX had 250 commits in the
past year). If it will be significantly less complicated, then
what does it offer over RichTextFX?</p>
<p>--John<br>
</p>
<div>On 21/02/2024 19:07, Andy Goryachev
wrote:<br>
</div>
<blockquote type="cite">
<div>
<p class="MsoNormal" style="text-autospace:none"><span>Dear JavaFX developers:<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span>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" style="text-autospace:none"><span><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span>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" style="text-autospace:none"><span><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span>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" style="text-autospace:none"><span><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span>Sincerely,<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span>Your friendly JavaFX development team.<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span>References<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span>[0] Proposal:
<a href="https://github.com/andy-goryachev-oracle/Test/blob/rich.jep.review/doc/RichTextArea/RichTextArea.md" target="_blank" rel="noreferrer">
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" style="text-autospace:none"><span>[1] Discussion points:
<a href="https://github.com/andy-goryachev-oracle/Test/blob/rich.jep.review/doc/RichTextArea/RichTextAreaDiscussion.md" target="_blank" rel="noreferrer">
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" style="text-autospace:none"><span>[2] API specification (javadoc):
<a href="https://cr.openjdk.org/~angorya/RichTextArea/javadoc" target="_blank" rel="noreferrer">https://cr.openjdk.org/~angorya/RichTextArea/javadoc</a><u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span>[3] Draft Pull Request for API comments and
feedback:
<a href="https://github.com/openjdk/jfx/pull/1374" target="_blank" rel="noreferrer">https://github.com/openjdk/jfx/pull/1374</a><u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="DE">[4] RichTextArea RFE:
<a href="https://bugs.openjdk.org/browse/JDK-8301121" target="_blank" rel="noreferrer">https://bugs.openjdk.org/browse/JDK-8301121</a><u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span>[5] Missing APIs related to rich text control:
<a href="https://bugs.openjdk.org/browse/JDK-8300569" target="_blank" rel="noreferrer">https://bugs.openjdk.org/browse/JDK-8300569</a><u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
</div>
</blockquote>
</div>
</blockquote></div>