2011-12-11 あ、そうか Java/SWT ソースを追いながら、なんとなく、分かった気がする。 トラバース処理はコントロール間のフォーカス移動処理だから、 コントロール個々の上位にあたる部分で処理されなければならない。 よって、メッセージ処理における最も上流に近い部分で処理がされている。 勿論、コントロール個々が処理すべきキーを横取りしては問題なので、 (例えば、テキストコントロールにフォーカスがあれば、矢印キーは文字列内での移動に必要だ) トラバース処理の前に、必ず、宛先のコントロールにお伺いをたてているはずだ。 で、どこでも処理されなかった場合は、改めて dispatch すると。