Name: mt13159 Date: 02/14/2001
This bug reproduces only on Chinese, Japanese, and Korean Windows NT 4.0. It reproduces in JDK 1.3 and JDK 1.1.8. I tested this all the way up through 1.3.0_01, and it is still occuring.
Steps to reproduce:
Run Chinese, Japanese, or Korean NT 4.0.
Run the following applet in the appletviewer from a DOS box.
When the applet comes up, note that you can use the tab key to move around between the text fields and buttons, and use the keyboard to type.
Click back on the DOS box.
Now click back on the AppletViewer window.
Try tabbing between the components and typing. You cannot.
This may not reproduce on the first try, it seems to happen about half the time.
public class SwingTest extends JApplet
public void init()
fld1 = new JTextField();
fld2 = new JTextField();
btn1 = new JButton("Btn1");
btn2 = new JButton("Btn2");
fld1.setText("hello this is test");
fld2.setText("hello this is test");
JTextField fld1, fld2;
JButton btn1, btn2;
The problem seems to be that Windows delivers WM_SETFOCUS events with slightly different timing on these versions of Windows, probably due to the IME. We fixed this in our 1.1.8 JDK by calling SetFocus() on the frame immediately when we got a WM_ACTIVATE. This forces immediate delivery of the WM_SETFOCUS event.
Note that this is a serious bug, as it basically prevents users from being able to use any application that has lightwieght components on these platforms.
(Review ID: 111445)