RichTextArea feedback and suggestions
Andy Goryachev
andy.goryachev at oracle.com
Tue Aug 5 22:03:23 UTC 2025
Responding to your earlier message, and thanks again for trying RichTextArea/CodeArea out and giving the feedback!
#1
Created ticket for the cursor issue: https://bugs.openjdk.org/browse/JDK-8364777
#2
CodeArea has the font property, which is styleable. Use the same CSS as TextArea:
-fx-font
<font>
inherit
shorthand property for font-size, font-family, font-weight and font-style
-fx-font-family
<font-family>
inherit
-fx-font-size
<font-size>
inherit
-fx-font-style
<font-style>
inherit
-fx-font-weight
<font-weight>
inherit
Enhancements:
#3
RichParagraph::getSegments() is an implementation detail. Of course it is possible to create a custom model, please use RichParagraph.Builder to build your paragraphs.
#4
Set common editor settings directly or via looked-up colors.
RichTextArea or CodeArea use different mechanisms for styling. For the RichTextArea, one can use stylesheet or direct styles when building paragraph segments, please refer to RichParagraph.Builder.addWith***() methods.
The CodeArea is different, as it is essentially a plain text control with a decorator (or a syntax highlighter). Since CodeModel supports in-memory and virtualized models, it might be more difficult to plug in syntax highlighters that work with a single, in-memory string. One way to use the usual syntax highlighters is to create a custom model with getText() method. The other would be to use a highlighter which only updates the parts that have been changed.
Hope this helps. Did I miss anything?
Thanks again,
-andy
From: openjfx-dev <openjfx-dev-retn at openjdk.org> on behalf of mkpaz <quizynox at gmail.com>
Date: Saturday, August 2, 2025 at 09:42
To: openjfx-dev at openjdk.org <openjfx-dev at openjdk.org>
Subject: RichTextArea feedback and suggestions
Hello,
I’ve been testing the new RichTextArea control and encountered a few issues. Some may not be bugs, though I couldn't find existing reports, so I’m sharing them here.
- The cursor doesn’t change from TEXT to DEFAULT when hovering over the scrollbar.
https://drive.google.com/file/d/1ob_2d-abI4F0bVoNWVS6d51rwYTt3-1n/view?usp=drive_link
- Setting font-family doesn’t work in CoreArea (but works in RichTextArea)
.rich-text-area .content, // only this line works
.code-area .content,
.code-area .content .label,
.code-area .content TextFlow {
-fx-font-family: "JetBrains Mono";
-fx-font-size: 14px;
}
I also hope there is room left for small enhancements:
- RichParagraph.getSegments() is abstract and package-private and a part of public API.
Judging from API it's suposed to be extensible, otherwise it's not possible to create a custom model.
https://github.com/openjdk/jfx/blob/master/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/model
https://github.com/openjdk/jfx/blob/master/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/model/SimpleViewOnlyStyledModel.java#L354
- RichTextArea lacks the ability to set common editor settings directly or via looked-up colors. I've created a project that brings TextMate support to RTA, so I'm obtaining editor's background, text color and highlight color from the theme settings.
https://github.com/mkpaz/tm4javafx/blob/master/tm4javafx/src/main/java/tm4javafx/richtext/StyleHelper.java#L75
Thanks for adding RichText support to JavaFX! Should I report all these issues in JBS?
Best regards.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20250805/4484cb6e/attachment-0001.htm>
More information about the openjfx-dev
mailing list