-
Enhancement
-
Resolution: Fixed
-
P1
-
solaris_2.6, 1.1.2, 1.1.3, 1.1.6, 1.2.0
-
1.1.6
-
generic, x86, sparc
-
generic, solaris_2.5, solaris_2.5.1, solaris_9, windows_95, windows_nt
-
Not verified
!!!NOTE!!!
THIS FEATURE REQUEST (I.E., RFE) HAS BEEN INTEGRATED TO
JDK1.1.6. PLEASE DO *NOT* ADD BUG REPORTS ON THE NEW FEATURE TO THIS
BUG REPORT. THANKS!
[richie: 6/27/97]
More info from Oracle.
We are trying to input Japanese characters using IME. Our code for displaying
Japanese Kanji characters worked fine with JDK 1.1FCS, but from JDK 1.1.1FCS
onwards, it has been broken. The problem is that in JDK 1.1.x, the KEY_TYPED
event is not being generated by the AWT when Kanji characters are being input
thru IME. With JDK 1.1, a KEY_TYPED event would be generated for each of the
Kanji characters.
JDK version: 1.1.1FCS (can also be reproduced with 1.1.2FCS, 1.1.3B, 1.1.3E)
The problem does NOT occur with JDK 1.1FCS.
OS: Windows NT 4.0 Workstation
Sample code (attached as well):
------------------------------------------------------------------
/*
IMETest.java
Test case for the JDK 1.1.1 bug with IME on Windows NT 4.0.
Bug:
AWT Component events are not being sent properly in JDK 1.1.1
when you try to input Japanese Kanji characters thru IME
on Windows NT 4.0.
How to run the test:
Run IMETest.class. A blank window will be displayed.
Type some characters using IME.
Watch the System output for info on what KeyEvent is
being delivered to the Canvas.
When you type some Kanji into IME and hit the final input
confirmation key (i.e. Enter),
- with JDK 1.1, you will get a KEY_TYPED event
for each Kanji character.
- with JDK 1.1.1, you get *no* KEY_TYPED events
for the Kanji characters.
You will not see any output inside the window;
refer to the System output.
Oracle bug #: 508469 (also see 494701)
James Seo.
Oracle Corp.
*/
import java.awt.*;
import java.awt.event.*;
public class IMETest
{
public static void main(String[] args)
{
Frame f = new Frame("IME Test");
Label l = new Label("Enter characters & watch the System
output.");
Canvas c = new Canvas();
f.setLayout(new BorderLayout());
f.add("Center", c);
f.add("North", l);
f.setSize(300,100);
f.show();
c.requestFocus();
c.addKeyListener(new CanvasListener());
}
}
class CanvasListener implements KeyListener
{
public void keyPressed(KeyEvent e)
{
System.out.println("IMETest: " + e);
}
public void keyReleased(KeyEvent e)
{
System.out.println("IMETest: " + e);
}
public void keyTyped(KeyEvent e)
{
System.out.println("IMETest: " + e);
}
}
[7/2/97 koji]
On the solaris version, it didn't work even if it was on JDK1.1.
==========================================================================
- duplicates
-
JDK-4052171 First letter will not be sent to IME.
- Closed
-
JDK-4061614 AWTCanvas do NOT accept Japanese character from IME
- Closed
-
JDK-4069417 Java doesn't send proper events for composed chars (like á)
- Closed
-
JDK-4129816 Cannot switch Chinese Input in JComboBox
- Closed
- relates to
-
JDK-4022670 Ambiguous key events are sent to application on TextComponent/TextFiled/TextArea
- Closed
-
JDK-4122941 JDK1.1.6: Win95: IME is disabled for all Swing and dbSwing components
- Closed
-
JDK-4090407 Could not catch input event via Input Method.
- Closed