特定の操作中に特定のキー (CTRL など) が押されたかどうかを検出できる必要があります。キーリスナーにもマウスイベントにもアクセスできません。私が望んでいるのは、「boolean isKeyPressed(keycode)」のようなメソッドを持つクラスがあることです。
Javaでこのようなメソッドを知っている人はいますか?
ちょっとした背景として、コンポーネントのデフォルトのドラッグ アンド ドロップ動作をオーバーライドしようとしています。デフォルトでは、DropTargetDragEventの javadocs によると、キー修飾子が押されていない場合、コンポーネントのサポートされているアクション リストで移動、コピー、リンクの順に検索され、最初のアクションが見つかった後に停止します。
私のアプリケーションでは、コピーとリンクの両方をサポートしています。javadoc によると、CTRL キーを押さない場合のデフォルトのアクションはコピーです。ユーザーがデフォルトのアクションを指定して (最も一般的に使用されるアクションを設定できるようにする)、修飾キーを使用して特定のアクションを強制できるようにしたいと考えています。
キーが押された状態を検出できれば、これを強制的に実行できますが、デフォルトのアクションを変更する他の方法は見当たりません。
前もって感謝します、ブライアン