United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-8019990 : IM candidate window appears on the South-East corner of the display.

Details
Type:
Bug
Submit Date:
2013-07-05
Status:
Resolved
Updated Date:
2014-09-04
Project Name:
JDK
Resolved Date:
2014-04-03
Component:
client-libs
OS:
windows_7
Sub-Component:
java.awt:i18n
CPU:
Priority:
P4
Resolution:
Fixed
Affected Versions:
7u6,8
Fixed Versions:

Related Reports
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Duplicate:
Duplicate:
Duplicate:
Relates:
Relates:

Sub Tasks

Description
FULL PRODUCT VERSION :
Reproducible with:
  1.7.0_06-b24
  1.7.0_07-b11
  1.7.0_09-b05
  1.7.0_10-b18
  1.7.0_11-b21
  1.7.0_13-b20
  1.7.0_15-b03
  1.7.0_17-b02
  1.7.0_21-b11
  1.7.0_25-b17
  1.7.0_40-ea-b29
  1.8.0-ea-b96

Not reproducible with:
  1.6.0_45-b06
  1.7.0-b147
  1.7.0_01-b08
  1.7.0_02-b13
  1.7.0_03-b05
  1.7.0_04-b22
  1.7.0_05-b06

It seems to be a regression of 1.7.0_06.

ADDITIONAL OS VERSION INFORMATION :
Windows 7 Ultimate 32 / 64bit sp1
Windows 8 Pro 64bit


EXTRA RELEVANT SYSTEM CONFIGURATION :
IME (Japanese):
  Microsoft IME (Windows 7)
  Microsoft IME 2012 (Windows 8)

Web Browser:
  Internet Explorer 10
  Google Chrome 27


A DESCRIPTION OF THE PROBLEM :
The candidate window shown from a JTextComponent on the Applet is always located on the South-East corner of the display.
In multi-display environment, the candidate window appears on the South-East corner of the *FIRST* display.

The same problem is reproducible with a JTextComponent shown using Eclipse SWT_AWT Bridge, so it seems that this problem occurs with a JTextComponent which is descendant of a WEmbeddedFrame.

REGRESSION.  Last worked in version 6u45

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Compile the attached java source, run as an Applet.
2. Set input focus to JTextField or JTextArea on this Applet.
3. Turn on the IME to change Japanese input mode.
4. Type  " densya " , and then press space key twice to show the candidate
    window.


REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JApplet;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class TestApplet extends JApplet {
public void init() {
this.setContentPane(createContentPane());
this.setSize(300, 200);
}
private JPanel createContentPane() {
JPanel contentPane = new JPanel();
contentPane.setLayout(new BorderLayout());
contentPane.add(new JTextField(), BorderLayout.NORTH);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(new JTextArea());
contentPane.add(scrollPane, BorderLayout.CENTER);
return contentPane;
}
}

---------- END SOURCE ----------
                                    

Comments
On 09.07.2013 0:47, Naoto Sato wrote:
> Just tried some 7u's to find out which release started to regress. Turned out that the issue started to show from 7u6. Not sure exactly which fix caused this regression, but I am inclined to guess that some AWT/Swing's change caused this.
>
> As to the severity of the issue, I think it is relatively high from the functional point, but wondering why the issue has not been reported till now. So I don't think this is a showstopper for 7u40, IMO.
>
> Naoto 
                                     
2013-07-09
is it jdk8 affected? or just 7u?
                                     
2013-09-03
  The problem was triggered by the fix for 7024749, which moved
  IME messages handling from awt_Component to awt_Frame. Due
  to this change, the WM_IME_SETCONTEXT never reaches the applet's
  component, and candidate window position is never adjusted.

  Suggested fix reverts a part of the fix for 7024749: messages
  WM_IME_SETCONTEXT and WM_IME_NOTIFY are handled in
  awt_Component again.

  To prevent the crash described in 7024749, I suggest to check
  whether the proxy is enabled before routing messages to it
  (see awt_Component.cpp, line 4090).

Fix review: http://mail.openjdk.java.net/pipermail/awt-dev/2014-April/007420.html
                                     
2014-04-02
URL:   http://hg.openjdk.java.net/jdk9/client/jdk/rev/e83692abf6ab
User:  bae
Date:  2014-04-03 07:21:08 +0000

                                     
2014-04-03
SQE OK to take the low impact fix to CPU14_02 before RDP2.
                                     
2014-04-14
URL:   http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/e83692abf6ab
User:  lana
Date:  2014-05-07 18:50:22 +0000

                                     
2014-05-07



Hardware and Software, Engineered to Work Together