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

Regression : Unexpected IME preedit position on AWT TextArea/TextField

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 7
    • client-libs
    • x86
    • windows

      SYNOPSIS
      --------
      Regression : Unexpected IME preedit position on AWT TextArea/TextField

      OPERATING SYSTEM
      ----------------
      Windows XP Professional x86 SP3 (Japanese)

      FULL JDK VERSION
      ----------------
      JDK 7 b134 onwards

      PROBLEM DESCRIPTION
      -------------------
      IME preedit should be displayed on caret position, but it's always displayed on left-top.

      This situation seems to be caused by the fix for 6826397 in b134.

      STEPS TO REPRODUCE
      ------------------
      1. Compile and run following program
      2. Turn on MS-IME
      3. Click left side of TextArea
      4. Type "aiueo", then Japanes preedit string is displayed into left-top
      5. Click another TextArea/TextField
      6. Type "aiueo", then Japanes preedit string is displayed into left-top.
         It should displayed on blinking caret position

      TESTCASE DESCRIPTION
      --------------------
      import java.awt.*;
      import java.awt.event.*;

      class TextAreaTest2 extends Frame {
          TextAreaTest2() {
              setTitle("TextAreaTest2");
              setLayout(new GridLayout(2,2));
              TextArea text = new TextArea();
              text.setFont(new Font("Dialog", Font.PLAIN, 16));
              add(text);
              text = new TextArea();
              text.setFont(new Font("Monospaced", Font.PLAIN, 24));
              add(text);
              TextField textf = new TextField();
              textf.setFont(new Font("Monospaced", Font.PLAIN, 12));
              add(textf);
              textf = new TextField();
              textf.setFont(new Font("Dialog", Font.PLAIN, 36));
              add(textf);
              setSize(500, 300);
              addWindowListener(new WindowAdapter() {
                                    public void windowClosing(WindowEvent e) { System.exit(0);}
                                });
              setVisible(true);
          }
          public static void main(String[] args) {
              new TextAreaTest2();
          }
      }

            dcherepanov Dmitry Cherepanov
            dkorbel David Korbel (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: