-1
我已經習慣了我的觸摸板,它允許平滑滾動,非常精確,但我無法通過Java機器人模擬它 - mousewheel只獲取整數參數,並且通過步驟進行滾動。我可以模擬在Java平滑滾動嗎?如何通過Java機器人進行平滑滾動?
robot.mouseWheel(a); // int a
我已經習慣了我的觸摸板,它允許平滑滾動,非常精確,但我無法通過Java機器人模擬它 - mousewheel只獲取整數參數,並且通過步驟進行滾動。我可以模擬在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 -mousewheel - 不工作)? – user6904265
@ user6904265,這是不一樣的,滾動的作品。 我想通過px滾動例如,而不是通過大鼠標滾輪步驟。 –
@Антонtheres現在的方式來解決單位。這些缺口就是任何指示設備提供的。其餘的只是依賴於操作系統。如果您只想以較慢的速度滾動,則實現起來非常簡單。 – Paul