KeyStroke に相当する Mouse クラスはありますか? どのボタンが押されたか (これは SwingUtilities で取得できます)、および使用される修飾子を記述するために、MouseEvent の周りに何らかのラッパーを探しています。アイデアは、私はすでにリスナーを介して AWT マウス イベントをキャッチしていますが、そのイベントを取得して、仮想世界での 3D ピッキング用に処理しています。このような方法でマウス バインディングをマッピングしてみたいと思います (スイング コントロールを使用した InputMap および ActionMap に似ています)。KeyStroke は神からの贈り物です。MouseStroke などを知っている人はいますか?
1 に答える
4
「マウス」は従来、最大 3 つのボタンを持つものとして定義されていました。これは Java が でサポートしているものでもありますMouseEvent.getButton()
。
複数のボタンを備えたより高度なマウスは、通常、複数の HID デバイスとしてインストールされます。つまり、マウス用とキーボード用の 2 つのドライバーをインストールします。これらのマウスでは、他のボタンの意味を設定できます。通常は、キーを押す (Shift キーなど) かダブルクリックのようなものです。これらは、KeyEvent の MouseEvent として、Java がキャッチできるイベントです。
「アプリケーションを開く」や「DPI を変更する」など、より高度な機能がドライバーに実装されています。デバイス固有であるため、これらのイベントをキャッチするために Java ができることは何もありません (ドライバーがサポートしている場合、これらのイベント用に独自のネイティブ リスナーを作成する必要があります)。
于 2012-05-08T14:25:12.033 に答える