2010-12-02 17 views
2

私はマウスレコーダーを作ろうとしています。マウスリスナーがコンソールで動作するようですが、これは可能でしょうか?javaコンソールmouselistener

+0

何のイベントコンソールで捕獲しようとしていますか? – jjnguy

+0

マウス(x、y)の位置 –

+0

画面の座標は十分ですか、コンソールの座標は必要ですか? – aioobe

答えて

2

マウスイベントを発生させた独自のコンソールを作成していない限り、私はあなたがそれを行うことができると思っていません。どのウィジェットをあなたのmouselistenerに登録しようとしていますか?コンソールはスイングコンポーネントではないため、スイングイベントはありません。

+0

あなたは何を意味するのかはっきりしていませんが、ウインドウを開いていないスイングアプリケーションを作成した場合、マウスクリックの座標を見つけることができますか? –

+0

mouseeventsを使ってマウスのxとyの座標を探しているのであれば、addMouseMotionListener関数を呼び出すためにいくつかのjava.awt.Componentサブクラス(JPanelやJFrameのような)が必要になります。あなたはおそらくJFrameを作成してsetVisible()を呼び出すことはできませんが、まだmouseMoveEventsを起動するかどうかはわかりません。 –

1

グローバルフックを使用してこれを行うことができます。 これらを使用するには、ネイティブを含めるか、JNIwikipedia参照)を使用して同じものを試す必要があります。

二つの例:

編集:

  • 一部再生機能の例:私の後半に答えて申し訳ありません

    import java.awt.AWTException; 
    import java.awt.DisplayMode; 
    import java.awt.MouseInfo; 
    import java.awt.PointerInfo; 
    import java.awt.Robot; 
    import java.util.Random; 
    
    // class instructions 
    
    try { 
        PointerInfo pntInfo = MouseInfo.getPointerInfo(); 
        DisplayMode dispMode = pntInfo.getDevice().getDisplayMode(); 
        int newX = new Random().nextInt(dispMode.getWidth()); 
        int newY = new Random().nextInt(dispMode.getHeight()); 
        new Robot(pntInfo.getDevice()).mouseMove(newX, newY); 
    } catch (AWTException exception) { } 
    

;)

関連する問題