私は大学のプロジェクトでマップエディタに取り組んでいます。また、マップパネルがキーイベントをリッスンしているはずなのにリッスンしていないという問題がありました。これは、JButton、ActionListenerを実装するJComboBox、およびマップパネル(JPanelを拡張する)などのJComponentを含むToolBarPane(JPanelを拡張する)をフレーム(BorderLayoutを使用)に追加すると発生します。Key Pressを受信したかどうかをテストするSystem.out.printlnステートメントがありますが、印刷されません。ToolBarを削除すると、キーリスナーが再び機能するため、keyListenerと同じようにmouseListennerが無効になります。プレスイベントなどを処理しますが、mouseListenerは正常に動作し、マウス移動イベントを処理できます。
これは、ToolBarPaneなしでどのように機能するかのスクリーンショットです。
http://img684.imageshack.us/img684/3232/sampleku.png
マウスを使用して画像を地図上に配置したり、レーザーツールのようにマウスを使用して画像を選択したりできます。数字キーを押すと、さまざまな画像を切り替えることができます。これは、次のようなToolBarPaneを追加するまで正常に機能します。このような:
img291.imageshack.us/img291/8020/failve.png(その前にhttpを追加してください。投稿できるハイパーリンクは1つだけです)
(私は新規ユーザーなので、ここに画像を投稿することはできません)
ToolBarPaneをオンにすると、キーイベントを処理できなくなりました。
どういうわけか、フォーカスがそのパネルに移されたのかもしれませんが、まったくわかりません。
と体はこれを知っていて、私を助けることができますか?
どうもありがとう