【问题标题】:Drag/Drop Robot Class拖放机器人类
【发布时间】:2012-03-11 01:24:25
【问题描述】:

我想使用 Java 中的 Robot 类进行拖放。出于某种原因,下面的代码不起作用。这种方法有替代方法吗?

    public static void main (String args []){
    Robot robot = new Robot ();

    robot.mouseMove(350, 226);
    robot.keyPress(InputEvent.BUTTON1_MASK);
    robot.mouseMove(250, 350);
    robot.keyRelease(InputEvent.BUTTON1_MASK);

}

【问题讨论】:

  • 这两个 x,y 点相距多远? - 如果它们靠得太近,系统可能不会注册拖动事件。
  • 新位置距离大约 25 像素。抱歉,我包含了一些不相关的对象。我现在已经编辑了代码。

标签: java awt awtrobot


【解决方案1】:

你需要使用mousePress()mouseRelease(),而不是keyPress()keyRelease()

【讨论】:

  • 哇。我不敢相信我忽略了这一点。多么愚蠢的错误。感谢您的帮助。
【解决方案2】:

这对任何人和你都有帮助:

public static void click(int x , int y,int x2, int y2) throws AWTException, InterruptedException{
    Robot b11 = new Robot();

    b11.mouseMove(x, y);    
    b11.mousePress(InputEvent.BUTTON1_DOWN_MASK);
    Thread.sleep(1000);//There is pause in miliseconds
    b11.mouseMove(x2, y2);
    b11.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-18
    • 2013-05-04
    • 1970-01-01
    • 2011-07-23
    • 2021-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多