JDK-7061057 : Regression : NativeIM and JavaIM are activated at same time
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 7,8,9
  • Priority: P3
  • Status: Open
  • Resolution: Unresolved
  • OS: windows
  • CPU: generic
  • Submitted: 2011-06-30
  • Updated: 2019-03-23
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
tbdUnresolved
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Description
REGRESSION
----------
Not reproducible with JDK 7 b141.  Only JDK 7 b142 and later, including b147.

SYNOPSIS
--------
NativeIM and JavaIM are activated at same time

OPERATING SYSTEM
----------------
Windows XP (Japanese)
Windows 7(Japanese)
Windows Server 2008 (Korean)

FULL JDK VERSION
----------------
JDK 7 b142 and later.

DESCRIPTION from Licensee
-------------------------
When I restart an application after JavaIM is activated, NativeIM and JavaIM are activated.

RECREATION INSTRUCTIONS
-----------------------
Please download following jar files
http://java.sun.com/javase/6/docs/technotes/guides/imf/spi-sample/CityIM.jar
http://java.sun.com/products/jfc/tsc/articles/InputMethod/InputMethodHotKey.jar
(http://java.sun.com/products/jfc/tsc/articles/InputMethod/inputmethod.html)

Use Japanese Windows and Japanese keyboard. Put LanguageBar into TaskBar to prevent the LanguageBar from disappearing.

1. Copy CityIM.jar to jre\lib\ext direcory
2. Run InputMethodHotKey.jar to set Input Method Hot key, then set
   Shift+F4 for hot key, then close it (It's just an example, so you can
   use another key if you like)
    > java -jar InputMethodHotKey.jar
3. Run Notepad.jar which is in demo\jfc\Notepad\Notepad.jar
    > java -jar Notepad.jar
4. Move input focus to JTextArea, then press Shift+F4
5. On Popup menu, select "City Input Method" -> "Japanese"
6. Stop Notepad.jar, and rerun Notepad.jar
7. Move input focus to JTextArea, press Hankaku/Zenkaku key.
   Please check LanguageBar, MS-IME is activated

WORKAROUND
----------
Turn off CityIM before stopping application

Comments
The specs for InputContext.selectInputMethod(Locale) are not clear. Should the reselect IM functionality work after application is re-run or just restore IM selection if the component focused again during the same session? In case of re-run where the previous selection can be stored? For another scenario it seems not natural to have different IMs for controls of the same application window.
10-04-2015

All IM JCK tests are passed. JTreg for test/java/awt/im are passed.
10-04-2015

Reselect of the input method also doesn't work in 7. Probably it never worked.
10-04-2015

With Noato's help the main bug issue is confirmed to be not reproducible. but Naoto reports another issue in IM According to InputContext.selectInputMethod(Locale) specs: If the user has previously selected an input method or keyboard layout for the requested locale from the user interface, then the most recently selected such input method or keyboard layout is reselected. This does not work in 8u30,8u40 and 9 and need to be fixed.
10-04-2015

couldn't find Japanese keyboard emulator for windows. Need to find Japanese physical keyboard somehow.
07-04-2015

These are all approved for deferral to JDK 9 so you can update the FixVersion to state JDK 9. Kind regards, Mathias
29-08-2013

These are all approved for deferral to JDK 9 so you can update the FixVersion to state JDK 9. Kind regards, Mathias
29-08-2013

These are all approved for deferral to JDK 9 so you can update the FixVersion to state JDK 9. Kind regards, Mathias
29-08-2013

Converted "8-client-defer-candidate" label to "8-defer-request" by SQE' OK.
15-08-2013

*This is anti-deferral criteria list*: - P2 -------------- Engineering's Criteria ------------------------------------- - tck-red labeled - conformance labeled - P3 regressions reported/labeled against jdk8 - findbugs, parfait, eht labeled bugs - CAP <1 year reported - netbeans <1 year reported Victor ----------------- SQE's OK --------------------------------- Yes, we are ok with that thanks, Mikhail
15-08-2013

8-defer-request: This is the issue from 7 GA when it was approved to defer that time. Requesting to defer again because there are no customer escalations on this issue.
14-06-2013

EVALUATION It's a regression caused by the change for fixing 7026055: Regression : Cannot use IME on JComboBox Japanese. Before the fix, input context was explicitly disabled on a component creation and associated on window showing, so that only one input method (in this case, CityIM) is associated to the component. Now the Windows IME is associated by default, and CityIM is also active, which results in the symptom.
06-07-2011

EVALUATION Some changes were made to src/windows/native/sun/windows/awt_*.cpp in b142.
06-07-2011