2012-02-03 13 views
3

java.awt.Component.dispatchEvent(AWTEvent)を使用してmousemoveイベントを実行する方法はありますか?dispatcheventでmousemoveイベントを生成しますか?

.dispatchEvent(new MouseEvent(client.a 
          .getComponentAt(1, 1), 
           MouseEvent.MOUSE_MOVED, 
           System.currentTimeMillis(), 
           MouseEvent.NOBUTTON, 
           x,y, 
           1, 
           false)); 

私はこれを今でも持っていますが、マウスを動かすことはありません。 どうすればいいですか?

編集: 私はこのようにそれを試してみましたが、そのが動作していない:

.dispatchEvent(new MouseEvent(client.a 
          .getComponentAt(1, 1), 
           MouseEvent.MOUSE_MOVED, 
           System.currentTimeMillis(), 
           MouseEvent.NOBUTTON, 
           x,y, 
           0, 
           false)); 

おかげで、 ジェフリー

+0

これを行う方法は、MouseEvent(私が理解している限り)はマウス・メッセージを送信するための方法ではありませんオペレーティングシステムではないコンポーネントに送信します。通常は、Robotクラスまたは[JNA](http://en.wikipedia.org/wiki/Java_Native_Access)を使用して実際にマウスカーソルを画面上に移動しています。 –

+0

実際には起こらなかったMouseEvent(マウスイベントの偽造)でコンポーネントを反応させたい、または画面上でカーソルを動かしたいですか? – Robin

+0

仮想マウスのようです。アプレット上。 –

答えて

3

私はこれを行うにはない方法であなたがたMouseEvent(としようとしている方法を知っています私が理解する限り)は、オペレーティングシステムではなくコンポーネントにマウスメッセージを送信するためのものです。通常、私はRobotクラスまたはJNAを使用して実際にマウスカーソルを画面上に移動しました。

+0

JNAを使って説明する方法やリンクを教えてもらえますか? –

+0

@JeffreyGearsoffun:自分で**ロット**を簡単にして、[Robot](http://docs.oracle.com/javase/7/docs/api/java/awt/Robot.html)を試してみてください。 )クラスを最初に使用します。 –

+0

私は仮想マウスbtwが欲しいです。メインカーソルが移動しないようにしてください アプレットでのみ使用する必要があります –

4

私はアプリケーションでMouseEventをエミュレートするのにAbbotを使用します。 Java 6、JUnit 4などのOracle従業員によって最近更新されました。

関連する問題