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

TextArea/TextField could not remove preedit drawing data after displaying JMenu

XMLWordPrintable

      SYNOPSIS
      --------
      TextArea/TextField could not remove preedit drawing data after displaying JMenu

      OPERATING SYSTEM
      ----------------
      Linux (tested with Red Hat Enterprise Linux Server release 5.6 (Tikanga))

      FULL JDK VERSION
      ----------------
      java version "1.7.0-ea"
      Java(TM) SE Runtime Environment (build 1.7.0-ea-b136)
      Java HotSpot(TM) Client VM (build 21.0-b06, mixed mode)

      java version "1.6.0_24"
      Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
      Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode)

      DESCRIPTION from LICENSEE
      -------------------------
      This testcase is using Heavyweight and Lightweight Mixing feature:

      http://java.sun.com/developer/technicalArticles/GUI/mixing_components/

      The issue is seen with Oracle JDK 6_24 also.[there is another issue of the "Menu" contents not being displayed].

      STEPS TO REPRODUCE
      ------------------
      This testing requires Japanese environment with Japanese IME (Like SCIM/ibus)
         
      1. Compile and run program with Japanese locale
      2. Move input focus into TextArea
      3. Move input cursor after "TextArea Component"
      4. Turn on Japanese IME and type "AIUEO", Japanese "AIUEO"
           Don't commit it
      5. Click "Menu" by mouse, then pull-down menu is displayed
      6. By this action, preedit string is committed or canceled.

      Expected Behaviour:
         Depends on preedit string is canceled or committed:
           * If preedit string is committed, the string should not have
             underline
           * If preedit string is canceled, caret should be displayed into
             proper position

      Actual Behaviour:
         Preedit string is remaining with underline

      TESTCASE
      --------
      import java.awt.*;
      import javax.swing.*;

      public class MixTest1 extends JFrame {
          public MixTest1() {
              setTitle("MixTest1");
              getContentPane().setLayout(new BorderLayout());
              JMenuBar menubar = new JMenuBar();
              setJMenuBar(menubar);
              JMenu menu = new JMenu("Menu");
              JMenuItem menu1 = new JMenuItem("MenuItem1");
              JMenuItem menu2 = new JMenuItem("MenuItem2");
              menu.add(menu1);
              menu.add(menu2);
              menubar.add(menu);
              TextArea text = new TextArea("TextArea Component");
              getContentPane().add(text, BorderLayout.CENTER);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              setSize(400, 400);
              setVisible(true);
          }
          public static void main(String[] args) {
              new MixTest1();
          }
      }

            nishjain Nishit Jain
            dkorbel David Korbel (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: