ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

NetBeansでKeyEventをあれこれしたい

2011年03月05日 13時04分49秒 | ソフト開発日記
ShiftやCtrlキーの入力を感知して,
マウスドラッグの処理に変化を与えたかったので,メモ(NetBeans6.9.1).

MouseMotionListnerを追加するコントロールに対して,
[右クリック]→[Key]→[KeyPressed]と進むと,
Keyが押されたときのイベントハンドラへ移動.

後はevt.get~でキー入力を得ることができるはずですが,
なぜか上手くいかない.

その理由は,ボタン等の他のコントロールにフォーカスが当てられていて,
フレームやパネル,ラベルにはマウスクリックでフォーカスが当たらないためみたいでした.

そこでラベル(フレームorパネル)にフォーカスを当てるために,
ラベルに対してMouseListnerを実装し,MousePressedメソッドの内部に

requestFocus();

メソッドを追加.
すると,ラベルにフォーカスが当たり,うまくKey入力を得ることができました.