マウス イベント (基本的には ctrl + クリック) に対して修飾キー (Shift、Ctrl、Alt) が押されているかどうかを確認する必要があります。
フォーカスがどこにあるのか、変数がどこにあるのかを追跡する手間がかからないように、キーリストナーまたはアクションイベントを実装せずにキーが押されたかどうかを確認する簡単な機能があるかどうか疑問に思っていました。
マウス イベント (基本的には ctrl + クリック) に対して修飾キー (Shift、Ctrl、Alt) が押されているかどうかを確認する必要があります。
フォーカスがどこにあるのか、変数がどこにあるのかを追跡する手間がかからないように、キーリストナーまたはアクションイベントを実装せずにキーが押されたかどうかを確認する簡単な機能があるかどうか疑問に思っていました。
を呼び出すと、どの修飾子が押されたかのマスクを取得できますInputEvent.getModifiers()
。
したがって、特定の修飾子 (Shift など) が押されたかどうかを知りたい場合は、次のように実行できます。
// (doesn't have to be a method, of course, you could easily do this inline)
private boolean wasShiftPressed(MouseEvent evt) {
return evt.getModifiers() & InputEvent.SHIFT_MASK != 0;
}