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

[Linux] AMI IM (Korean) status does not update properly with window focus change operation

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: P4 P4
    • None
    • 1.4.2
    • client-libs

      Name: dk106046 Date: 04/26/2004

      OPERATING SYSTEM(S):
      SuSE SLES8 for IA32 and RedHat RHAS3 for IA32 with Korean locale

      FULL JDK VERSION(S):
      java version "1.4.2_03"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
      Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)


      On Korean locale (with Ami IM server),
      IM status does not update properly with window focus change operation.
      IM status is displayed on KDE panel or window title on GNOME dock.

      Please try following instruction:
      1. Open terminal window. It can input Korean characters via Ami
      2. Compile KeyEventTest.java and run it on Korean locale
      3. On main window(AWT), check Ami's IM status.
         (It's in unknown)
      4. Press "Open" button on main window, check Ami's IM status.
         (It's in English mode)
      5. Move focus to main window, check Ami's IM status.
         (It's in English mode)
      6. Move focus to terminal window, check Ami's IM status.
         (It's in English mode)
      7. Move focus to main window, check Ami's IM status.
         (It's in unknown)

      Test result for step 3, 5, 7 should be same, but they are not. <== PROBLEM

      ============================================================
      import java.awt.*;
      import java.awt.event.*;

      class KeyEventTest extends Frame implements ActionListener {
      final int FRAME_OFFSET = 24;
      private int frameCount = 0;
      KeyEventTest() {
      setTitle("AWT");
      setLayout(new GridLayout(0,1));
      add(new Label("New Window"));
      Button button = new Button("Open");
      button.addActionListener(this);
      add(button);
      addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent evt) {
      System.exit(0);
      }
      });
      }
      public void actionPerformed(ActionEvent e) {
      ButtonKeyEventTest f = new ButtonKeyEventTest("Button"+frameCount);
      frameCount++;
      f.setLocation(FRAME_OFFSET*frameCount, FRAME_OFFSET*frameCount);
      f.pack();
      f.show();
      }
      public static void main(String[] args) {
      KeyEventTest f = new KeyEventTest();
      f.pack();
      f.show();
      }
      }

      class ButtonKeyEventTest extends Frame {
      ButtonKeyEventTest(String label) {
      setTitle(label);
      setLayout(new GridLayout(0,1));
      ButtonWithKeyEvent button = new ButtonWithKeyEvent(label);
      add(button);
      addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent evt) {
      dispose();
      }
      });
      }
      }

      class ButtonWithKeyEvent extends Button {
      ButtonWithKeyEvent(String label) {
      setLabel(label);
      enableEvents(AWTEvent.KEY_EVENT_MASK);
      }
      public void processKeyEvent(KeyEvent e) {
      System.out.println("processKeyEvent:id="+e.getID());
      }
      }
      ============================================================
      ======================================================================
      ###@###.### 10/24/04 22:41 GMT

            naoto Naoto Sato
            dkorbel David Korbel (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: