コンポーネントのフォーカスイベントのログ出力。
古臭いやり方かもしれんが、コンポーネントのフォーカス取得やフォーカス喪失のイベントは設定を変えればログ出力することができる。
まず ${JRE_HOME}*1/lib ディレクトリ内にある logging.properties を開き、
java.awt.focus.Component.level = ALL
という風にログレベルを指定する。
ログレベルの種類については、Oracle Technology Network for Java Developers | Oracle Technology Network | Oracleを見れば一目瞭然。
ただしOracle Technology Network for Java Developers | Oracle Technology Network | Oracleのソースを見れば分かると思うが、ALL か FINEST、FINER 以外を指定してしまうと出力されないはず。
あとファイル出力するためには、
handlers= java.util.logging.FileHandler
の記述が必要。
この2つのエントリを設定すれば、AWT/Swing アプリケーションを実行するだけ。
そうすれば、${HOMEDRIVE}/${HOMEPATH} ディレクトリ内に java0.log という名前のファイルに XML 形式でフォーカスイベントが出力される。
もしこれで出力できない場合、どこかで独自の設定をしているものと思われる。
もう一度 logging.properties ファイルの記述を見直すか、以下の API 仕様書をじっくり読めば解決できるものと思われる。
- java.util.logging.Logger
- java.util.logging.LogManager
- java.util.logging.FileHandler
- java.security.AccessController
もしそれでも駄目だったら、、、自分で調べて下さいw
追記@2008/06/26:
試してないけど、-Xbootclasspath を利用する方法もあるとか。