Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8344643

RichTextArea Control (Incubator)

XMLWordPrintable

    • Icon: CSR CSR
    • Resolution: Approved
    • Icon: P2 P2
    • jfx24
    • javafx
    • None
    • source, binary, behavioral
    • minimal
    • This feature is being delivered as an incubator module. No existing public API will be changed.
    • Java API, File or wire format
    • JDK

      Summary

      Incubates the RichTextArea/CodeArea controls for displaying and editing of rich text that can be styled in a variety of ways, capable of working with large documents. Also incubates the InputMap class that enables behavior customization.

      Problem

      JavaFX lacks a dedicated rich text area control, resulting in a functional gap in relation to Swing. The new RichTextArea control intends to bridge this gap.

      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. The benefit of providing such a control as a part of the core platform is not just adding support for rich text, but also in taking care of many intricate details required for such support, making it easier for third party developers who decide to extend the basic functionality.

      Solution

      The incubator module jfx.incubator.richtext provides two Control classes: RichTextArea and CodeArea, the latter optimized for a single-font use case such as code editor. The incubator module jfx.incubator.input provides the InputMap class which supports behavior customization.

      References

      1. RichTextArea: https://github.com/andy-goryachev-oracle/Test/blob/main/doc/RichTextArea/RichTextArea.md

      2. InputMap: https://github.com/andy-goryachev-oracle/Test/blob/main/doc/InputMap/InputMapV3.md

      3. API Specification: https://cr.openjdk.org/~angorya/RichTextArea/javadoc/

      4. Behavior: https://github.com/andy-goryachev-oracle/jfx/blob/8301121.RichTextArea/doc-files/behavior/RichTextAreaBehavior.md

      Specification

      Due to large API surface (48 public classes added), please refer to the attached api-diff files and the API specification. NOTE: due to limitations of apidiff tool, the generated output includes com.sun.* packages. These packages are not exported and should be ignored.

            angorya Andy Goryachev
            angorya Andy Goryachev
            Kevin Rushforth
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: