アクセラレータ付きのメニュー項目があります。アクセラレータを使用して実行するのではなく、メニュー項目がクリックされたときを検出したいと思います。これは可能ですか?
ありがとう、アレキサンダー。
アクセラレータ付きのメニュー項目があります。アクセラレータを使用して実行するのではなく、メニュー項目がクリックされたときを検出したいと思います。これは可能ですか?
ありがとう、アレキサンダー。
MouseEVents と Actions をリッスンできますが、ActionEvent の修飾子を調べて、キーがイベントに関与しているかどうかを確認することもできます。そうすれば、対処するリスナーは 1 つだけになります...
マウス クリックは、MouseEvent と Action を起動します。アクセラレータはアクションを開始するだけです。
ActionEvent のキー情報を Action#ACCELERATOR_KEY キーと値のペアと比較できます。これにより、ユーザーがランダム/修飾キーを押しながらクリックしたことと、実際のアクセラレータ キーの組み合わせを区別できるはずです。