JDK-4749254 : Unwanted below-the-spot behavior on some windows platform
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt:i18n
  • Affected Version: 1.4.1
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_98
  • CPU: x86
  • Submitted: 2002-09-18
  • Updated: 2002-11-21
  • Resolved: 2002-10-21
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other Other
1.4.1_02 02Fixed 1.4.2Fixed
Description
JDK: 1.4.1-rc
OS:  Windows 98

The following code should let native IME to process all the input method events. But on some Chinese Windows98 environment, the Java's input window(for Chinese input) will still show up.

-------- Start -----------
import java.awt.*;
import java.awt.im.*;
import javax.swing.*;

class PassiveSwing extends JFrame {
     public static void main(String[] s) {
         new PassiveSwing();
     }

     PassiveSwing() {
         Container c = getContentPane();
         c.setLayout(new BorderLayout());
         c.add(new JTextPane() {
             public InputMethodRequests getInputMethodRequests() {
                 return null;
             }
         });

         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         setSize(200, 100);
         setVisible(true);
     }
}
-------- End -----------


Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: 1.4.1_02 mantis FIXED IN: 1.4.1_02 mantis INTEGRATED IN: 1.4.1_02 mantis mantis-b04
14-06-2004

WORK AROUND 1. Run the test code 2. Open the Chinese IME, but don't input anything(don't press any key). 3. Switch to another window(any windown in your system) and then switch back to the test case's window 4. Start to input, now the Java input window won't show up
11-06-2004

EVALUATION This was a side effect by implementing the RFE 4226414, where AwtComponent::GetInputLanguage() and GetSystemDefaultLangID() return different values (0x409 and 0x804, respectively) even using Chinese IME on Chinese Windows 98. Now the JDK is using RegisterClassW, which implies receiving WM_IME_CHAR in Unicode, we don't need a piece of code to force use Java composition window in awt_InputMethod.cpp anymore. ###@###.### 2002-10-08
08-10-2002