2012-05-08 14 views
1

KeyStrokeに相当するMouseクラスがありますか?私はどのボタンがプッシュされたかを記述するMouseEventの周りのラッパーを探しています(私はSwingUtilitiesを通してこれを得ることができます)。アイデアは、私はすでにリスナーを介してAWTマウスイベントをキャッチしていますが、そのイベントを受け取り、仮想世界で3Dピッキングを処理することです。マウスバインディングをこのような方法でマップしようと思います(InputMapやSwingコントロールを持つActionMapに似ています)。 KeyStrokeは神から送られてきました。誰かがMouseStrokeなどを知っていましたか?Java 6のMouseのKeyStrokeに相当するクラスですか?

答えて

4

「マウス」は、伝統的に、最大3つのボタンを有するものとして定義される。それはまた、JavaがMouseEvent.getButton()によってサポートしているものです。

複数のボタンを備えた高度なマウスは、通常、複数のHIDデバイスとしてインストールされます。つまり、マウス用とキーボード用の2つのドライバをインストールします。これらのマウスでは、他のボタンの意味を設定できます。通常、キー入力(shiftなど)やダブルクリックなどがあります。これは、JavaがKeyEventのMouseEventとして捕捉できるイベントです。

「アプリケーションを開く」や「DPIを変更する」などの高度な機能がドライバに実装されています。デバイス固有のため、これらのイベントを捕まえるためにJavaが行うことはできません(ドライバがサポートしている場合は、これらのイベントに対して独自のネイティブ・リスナーを作成する必要があります)。

+0

[Java7は4番目と5番目のボタンが追加されているため](http://docs.oracle.com/javase/7/docs/api/java/awt/event/MouseEvent.html#getButton%28%29)、[ SwingUtilitiesは3つのマウスボタンしか残されていない](http://docs.oracle.com/javase/7/docs/api/javax/swing/SwingUtilities.html)btw +1 – mKorbel

+0

短い回答のようです:いいえ、ありますMouseStrokeなどはありません。 – JagWire

関連する問題