2016-11-18 60 views
-1

我已經習慣了我的觸摸板,它允許平滑滾動,非常精確,但我無法通過Java機器人模擬它 - mousewheel只獲取整數參數,並且通過步驟進行滾動。我可以模擬在Java平滑滾動嗎?如何通過Java機器人進行平滑滾動?

robot.mouseWheel(a); // int a 
+0

你已經嘗試過[這](http://stackoverflow.com/questions/15714609/robot-class -mousewheel - 不工作)? – user6904265

+0

@ user6904265,這是不一樣的,滾動的作品。 我想通過px滾動例如,而不是通過大鼠標滾輪步驟。 –

+0

@Антонtheres現在的方式來解決單位。這些缺口就是任何指示設備提供的。其餘的只是依賴於操作系統。如果您只想以較慢的速度滾動,則實現起來非常簡單。 – Paul

回答

0

滾動的單位將始終以「輪的凹槽」(你問之前:這是測量是如何在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){} 
     } 
    } 
} 
+0

是的,我的代碼看起來像這個例子已經...我認爲有一些方法來減少步驟。 –