このセクションでは、AWTに関連する問題のデバッグ時に知っておくべき有用なヒントをいくつか提供します。
AWTコンポーネント階層をダンプするには、[Ctrl]+[Shift]+[F1]を押します。
アプリケーションがハングアップした場合、Windowsでは[Ctrl]+[Break]を押し(SIGBREAKシグナルが送信される)、Oracle SolarisおよびLinuxオペレーティング・システムでは[Ctrl]+[\]を押します(SIGQUITシグナルが送信される)。
Oracle SolarisおよびLinuxオペレーティング・システムでX11エラーをトレースするには、sun.awt.noisyerrorhandler
システム・プロパティをtrue
に設定します。Java SE 6以前のリリースでは、NOISY_AWT
環境変数がこの目的で使用されていました。
Java SE 8より前は、AWTのイベント・ディスパッチ・スレッド(EDT)でスローされた例外をキャッチするには、システム・プロパティsun.awt.exception.handler
にpublic void handle(Throwable)
メソッドを実装するクラスの名前を設定していました。Java SE 8ではこのメカニズムが更新され、標準のThread.UncaughtExceptionHandler
インタフェースが使用されるようになりました。
AWTの問題をデバッグする際には、ロガーによって生成される出力が役立ちます。ロガーの使用方法については、「Javaロギングの概要」ドキュメントおよびjava.util.logging
パッケージの説明を参照してください。
使用可能なロガーは次のとおりです。
java.awt
java.awt.focus
java.awt.event
java.awt.mixing
sun.awt
sun.awt.windows
sun.awt.X11