Skip to content

Conversation

@andy-goryachev-oracle
Copy link
Contributor

@andy-goryachev-oracle andy-goryachev-oracle commented Oct 16, 2025

Adds Input Method Editor (IME) support to RichTextArea/CodeArea.

Tested on macOS and Windows 11 with Japanese and Chinese (pinyin) input methods.
Please test this on Linux, even though there is no platform-specific code in this PR (should work the same way it does in TextArea/TextField)

For testing, one can use the updated Monkey Tester
https://github.com/andy-goryachev-oracle/MonkeyTest
(optionally enable IME events in stdout with Logging -> IME Monitor)

/reviewers 2


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed (2 reviews required, with at least 1 Reviewer, 1 Author)

Issue

  • JDK-8368478: RichTextArea: add IME support (Enhancement - P3)

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jfx.git pull/1938/head:pull/1938
$ git checkout pull/1938

Update a local copy of the PR:
$ git checkout pull/1938
$ git pull https://git.openjdk.org/jfx.git pull/1938/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 1938

View PR using the GUI difftool:
$ git pr show -t 1938

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jfx/pull/1938.diff

Using Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Oct 16, 2025

👋 Welcome back angorya! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk
Copy link

openjdk bot commented Oct 16, 2025

❗ This change is not yet ready to be integrated.
See the Progress checklist in the description for automated requirements.

@openjdk
Copy link

openjdk bot commented Oct 17, 2025

@andy-goryachev-oracle
The total number of required reviews for this PR (including the jcheck configuration and the last /reviewers command) is now set to 2 (with at least 1 Reviewer, 1 Author).

@andy-goryachev-oracle andy-goryachev-oracle marked this pull request as ready for review October 17, 2025 23:11
@openjdk openjdk bot added the rfr Ready for review label Oct 17, 2025
@mlbridge
Copy link

mlbridge bot commented Oct 17, 2025

Webrevs

@kevinrushforth kevinrushforth self-requested a review October 20, 2025 18:25
@kevinrushforth
Copy link
Member

@lukostyra Can you also review?

Copy link
Contributor

@lukostyra lukostyra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I tested this on Windows with rich editor demo and using both polish and spanish IME shortcuts - all work fine after this change

@lukostyra
Copy link
Contributor

I tested this on Windows

I wrote this comment on Windows and something shorted in my brain when I was typing this. I meant on Linux, Ubuntu 24.04.2 :)

@andy-goryachev-oracle
Copy link
Contributor Author

andy-goryachev-oracle commented Oct 24, 2025

I am curious: could you tell me more about Polish/Spanish IME, what exactly have you try?
The reason I ask is (and I don't have much experience with European keyboards) is that these might go through the standard pathway, a regular keystroke.

The IME on the other hand, is a special UI that pops up with a list of candidates, and it's usually used with CJK languages:

Screenshot 2025-10-24 at 07 19 32

@beldenfox
Copy link
Contributor

On Mac and Linux dead key sequences are delivered as InputMethodEvents. When typing ü using dead keys the user previews the diacritic mark (¨) as composed text and then the final character (ü) is delivered as committed text.

@andy-goryachev-oracle
Copy link
Contributor Author

andy-goryachev-oracle commented Oct 24, 2025

Does it show any underline/dotted shapes? How do you type ü in German layout (on macOS)?

edit: Please disregard, I see it! Typing + or shift-+ (using the US keyboard) shows an IME composition shape.

@beldenfox
Copy link
Contributor

I usually test using a US keyboard and typing Option+e for ´ or Option+u for ¨ or Option+n for ˜

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rfr Ready for review

Development

Successfully merging this pull request may close these issues.

4 participants