フォーカスを取得した時点でオン。
フォーカスを喪失した時点でオフ。
という動作はこんな感じでいいみたい。
JTextField field = new JTextField(); field.addFocusListener(new FocusAdapter() { public void focusGained(FocusEvent event) { getInputContext().setCharacterSubsets(new Character.Subset[] {InputSubset.KANJI}); } public void focusLosted(FocusEvent event) { getInputContext().setCharacterSubsets(null); } });
■参考サイト
[JavaHouse-Brewers:24508] IME を起動する方法
http://java-house.jp/ml/archive/j-h-b/024508.htm