On Wed, 20 Jan 2021 07:35:18 GMT, Ichiroh Takiguchi <itakigu...@openjdk.org> wrote:
>> How do the native components work in that case like awt textarea or external >> apps like notepad? > >> How do the native components work in that case like awt textarea or external >> apps like notepad? > > I tested TextField+TextField, TextArea+TextArea, TextArea+TextField. > Without fix: Preedit string was cancel by input focus change. > With fix: Preedit string was committed into clicked component. > > For external application, I used Sakura Editor, because it can create 2 > editor panes on one window. > Preedit string was committed before moving input focus. > I tried attached testcase. > > ```java > import java.awt.*; > import java.awt.event.*; > > public class AWTTextTest1 extends Frame { > AWTTextTest1() { > setTitle("AWTTextTest1"); > setLayout(new GridLayout(0, 1)); > add(new TextField()); > add(new TextField()); > addWindowListener(new WindowAdapter() { > public void windowClosing(WindowEvent we) { > System.exit(0); > } > }); > setSize(400, 300); > setVisible(true); > } > public static void main(String[] args) { > new AWTTextTest1(); > } > } > ``` > > 1. Start testcase > 2. Click upper TextField, turn on IME, type some character (In case of > Japanese, type "aiu") > 3. Click lower TextField, preedit string is committed into lower TextField. > > Without the fix, preedit string was canceled by above operation. Hello Ichiroh, Thank you for the details. I can reproduce it. I will look into this.. Regards, Dmitry ------------- PR: https://git.openjdk.java.net/jdk/pull/2142