• ベストアンサー

IMEモードをON、OFFにできる?

いつもお世話になっています。 表題のままなのですが、JAVAで日本語IMEモードのON・OFFってできるのでしょうか? いろいろと調べてみたのですが、いい方法を見つけだすことができませんでした。 ご教授よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • takaP-
  • ベストアンサー率79% (83/105)
回答No.1

ON/OFF の意味が不明なので答え辛いですねー。。。 TextField などの表示時に日本語の入力状態にしたいとか ってことでしょうか? それとも、日本語の入力を不可にしたいとか? 日本語の入力切り替え不可ならば。。。 TextField tf=new TextField(); tf.enableInputMethods(false); とすれば、日本語入力は出来なくなると思います。 表示時に日本語入力状態にするなら。。。 final TextFiled tf=new TextFiled(); tf.addFocusListener(new FocusAdapter(){ public void focusGained(FocusEvent fe){ tf.setCompositionEnabled(true); } public void focusLost(FocusEvent fe){ tf.setCompositionEnabled(false); } }); とすれば可能ではないかと思います。

その他の回答 (2)

  • takaP-
  • ベストアンサー率79% (83/105)
回答No.3

>擬似的に活性化する方法はわかっているのですが、根本的にIMを活性化する(つまり、韓国や中国などロケールを問わずに活性化)手段はないのか?という趣旨で質問させていただきました。 JH での議論をご存知でしたら結論もご存知なのでは? 仕様策定者が回答している以上の回答をココで得ようとしているのでしょうか?

omaeha
質問者

補足

JAVAの仕様としてIM活性化を根本的に行うのは不可能であるということはしっているのですが、未公開APIやJCOMライブラリのようにJAVAの仕様以上のものを実現できるものがあるように、 IM活性化に関してもそういう裏技があればご教授いただきたいと思い質問させていただきました。

  • takaP-
  • ベストアンサー率79% (83/105)
回答No.2

あちゃ。。。#1記述ミスです。 tf.setCompositionEnable() は、 tf.getInputContext().setCompositionEnabled() の間違いです。 失礼しました。

omaeha
質問者

補足

すいません。言葉足らずでした。 一時期JAVA HOUAEでも話題になっていましたが、 IMを活性化するという意味です。 擬似的に活性化する方法はわかっているのですが、根本的にIMを活性化する(つまり、韓国や中国などロケールを問わずに活性化)手段はないのか?という趣旨で質問させていただきました。