私はタッチパッドに慣れているのでスムーズにスクロールすることができますが、Javaロボットではシミュレートできません。マウスホイールは整数パラメータとスクロールのみを実行しています。 Javaでスムーズにスクロールをシミュレートできますか?Javaロボットによる円滑なスクロール方法は?
robot.mouseWheel(a); // int a
私はタッチパッドに慣れているのでスムーズにスクロールすることができますが、Javaロボットではシミュレートできません。マウスホイールは整数パラメータとスクロールのみを実行しています。 Javaでスムーズにスクロールをシミュレートできますか?Javaロボットによる円滑なスクロール方法は?
robot.mouseWheel(a); // int a
(あなたが尋ねる前に:それは、測定がdocsで命名された方法です)スクロールの単位は常に「ホイールのノッチ」によるであろう。これはハードウェア(具体的にはマウス)によって実装される方法です。 「ノッチ」ごとにスクロールされるピクセル数は、OS構成にすぎません。あなたは純粋なJavaでそれを混乱させることはできませんし、それが可能であっても、私はそれをお勧めしません。
import java.awt.Robot;
public class Test{
public static void main(String[] args)
throws Exception
{
//time to switch to a specific window where the robot ought to be tested
try{ Thread.sleep(2000); }catch(InterruptedException e){}
Robot r = new Robot();
for(int i = 0; i < 20; i++){
//scroll and wait a bit to give the impression of smooth scrolling
r.mouseWheel(1);
try{ Thread.sleep(50); }catch(InterruptedException e){}
}
}
}
はい、私のコードはこの例のようになりました...私はステップを減らす方法があると思いました。 –
すでに試さなかった[この](http://stackoverflow.com/questions/15714609/robot-class:
あなたはそれにもかかわらず行うことができますことは、ロボットのスクロールが速度を遅くすることです - マウスホイールが動作しない)? – user6904265
@ user6904265、それは同じではなく、スクロールして動作します。 大きなマウスホイールのステップではなく、たとえばpxでスクロールしたい。 –
@Антонtheresのユニットを回避する方法は今です。これらのノッチは、単にポインティングデバイスが提供するものです。残りはOSに依存しています。遅いスピードでスクロールしたいだけなら、実装するのはかなりシンプルです。 – Paul