RFR: 8355774: RichTextArea: provide mechanism for CSS styling of highlights [v2]

Andy Goryachev angorya at openjdk.org
Thu Jun 5 14:30:48 UTC 2025


> Adding missing APIs related to styling the highlights with CSS:
> 
> ![Screenshot 2025-05-07 at 15 08 53](https://github.com/user-attachments/assets/e37062b4-9804-40a7-872d-830fe0f584c1)
> 
> 
> 
> Adds methods to the `RichParagraph.Builder`:
> 
> 
>         /**
>          * Adds a wavy underline (typically used as a spell checker indicator) with the specified style name(s).
>          * <p>
>          * The corresponding styles should define CSS properties applicable to {@link javafx.scene.shape.Path}.
>          *
>          * @param start the start offset
>          * @param length the end offset
>          * @param css the style name(s)
>          * @return this {@code Builder} instance
>          * @since 25
>          */
>         public Builder addWavyUnderline(int start, int length, String ... css) {
> 
> 
> 
>         /**
>          * Adds a highlight with the specified style name(s).
>          * Use translucent colors to enable multiple highlights in the same region of text.
>          * <p>
>          * The corresponding styles should define CSS properties applicable to {@link javafx.scene.shape.Path}.
>          *
>          * @param start the start offset
>          * @param length the end offset
>          * @param css the style name(s)
>          * @return this {@code Builder} instance
>          * @since 25
>          */
>         public Builder addHighlight(int start, int length, String ... css) {
> 
> 
> 
> Also adding similar methods to the `SimpleViewOnlyStyledModel` class:
> 
> 
>     /**
>      * Adds a highlight of the given color to the specified range within the last paragraph,
>      * with the specified style name(s).
>      *
>      * @param start the start offset
>      * @param length the length of the highlight
>      * @param css the highlight style name(s)
>      * @return this model instance
>      * @since 25
>      */
>     public SimpleViewOnlyStyledModel highlight(int start, int length, String ... css) {
> 
> 
>     /**
>      * Adds a wavy underline (typically used as a spell checker indicator)
>      * to the specified range within the last paragraph, with the specified style name(s).
>      *
>      * @param start the start offset
>      * @param length the length of the highlight
>      * @param css the highlight style name(s)
>      * @return this model instance
>      * @since 25
>      */
>     public SimpleViewOnlyStyledModel addWavyUnderline(int start, int length, String ... css) {

Andy Goryachev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:

 - Merge remote-tracking branch 'origin/master' into 8355774.css
 - tab
 - css

-------------

Changes:
  - all: https://git.openjdk.org/jfx/pull/1802/files
  - new: https://git.openjdk.org/jfx/pull/1802/files/354cddf9..5f1e084c

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1802&range=01
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1802&range=00-01

  Stats: 2497 lines in 54 files changed: 1098 ins; 1235 del; 164 mod
  Patch: https://git.openjdk.org/jfx/pull/1802.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1802/head:pull/1802

PR: https://git.openjdk.org/jfx/pull/1802


More information about the openjfx-dev mailing list