Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

JPanelのenableEventsについて

 JPanelを継承したクラス内から、enableEventsメソッド使用してキーイベントを拾いたいのですが、実行したところ出来ませんでした。

JPanelからではキーイベントを拾うことは不可能なのでしょうか。

ご返答お願いします。

5

回答

80761

閲覧

5件の回答

評価

0

JPanelを乗せているコンポーネントで拾うというのはダメ?

評価

0

JPanel.setFocus(boolean)を使ったところ、解決しました。
どうやらキーイベントのフォーカス設定とやらが必要なようです。
事前の調べが足らずお騒がせしました。

評価

0

なるほどね
JPanelにフォーカスを当てればできるんだろうとまでは思いはしたけど
どう当てられるの?と思ってましたけど

JPanel#setFocus(boolean)ってなさそうなんですけど
もしかして6.0を使ってるとか?

ただsetFocusを使ったとしてUIとしての扱いはどうなるんだろう・・と心配してみたりするところですけど・・
そこはうまくやっているのか、(6.0だとして?)うまくできていたりするんだろうと思いますけど

5.0までではsetFocus"系"のメソッドはあるみたいですけどね(使ったことはない)
もしかしたら他に参考にする人は注意した方がよさそうに思えたりもするんですけど、どうなんだろう・・

評価

0

ご返答有り難うございます。
JDK 1.5.0_09の
java.awt.Component.setFocusable(boolean)の間違いでした。

評価

0

ああ やはりそっちでしたか

昨日試したときUIどうするんだろう・・と思ったりしましたが
マウスイベント拾えばどうにかなるのかな。。(ってsetFocusないじゃないですか・・)

取り敢えずは目的を果たしたようなのでOKなんだろうし
今再度試してみて確かに拾えてるの確認できてるし
(作り込みたくない・・時間も取れない・・のでTabキー使ってしか試してないけど)

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。