我正在做一些与Java的Swing GUI工作,我认为我的问题相当简单;如何设置鼠标的位置?如何在Java中设置鼠标的位置?
回答
您需要使用Robot
此类用于为测试自动化,自运行演示,并在需要控制鼠标和键盘的其他应用程序的目的本地系统输入事件。 Robot的主要目的是促进Java平台实现的自动化测试。
使用该类生成输入事件不同于将事件发布到AWT事件队列或AWT组件,因为事件是在平台的本机输入队列中生成的。例如,
Robot.mouseMove
将实际移动鼠标光标,而不是只生成鼠标移动事件的...
退房的Robot类。
正如其他人所说,这可以使用Robot.mouseMove(x,y)
实现。然而,这种解决方案在多显示器情况下工作时会出现问题,因为机器人使用主屏幕的坐标系统工作,除非您另行指定。
这里是一个解决方案,允许您通过任何基于点全局屏幕坐标:
public void moveMouse(Point p) {
GraphicsEnvironment ge =
GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
// Search the devices for the one that draws the specified point.
for (GraphicsDevice device: gs) {
GraphicsConfiguration[] configurations =
device.getConfigurations();
for (GraphicsConfiguration config: configurations) {
Rectangle bounds = config.getBounds();
if(bounds.contains(p)) {
// Set point to screen coordinates.
Point b = bounds.getLocation();
Point s = new Point(p.x - b.x, p.y - b.y);
try {
Robot r = new Robot(device);
r.mouseMove(s.x, s.y);
} catch (AWTException e) {
e.printStackTrace();
}
return;
}
}
}
// Couldn't move to the point, it may be off screen.
return;
}
它在Linux平台上工作吗? – 2014-07-24 14:40:40
@丹尼尔 - 自从你在这里回复已经有好几年了,但今天我找到了它,并且它解决了我多年来无意中通过鼠标点击重新定位文本光标所遇到的问题。我很想试用Robot.mouseMove,直到我阅读你的评论。奇怪的是,我刚开始使用多显示器设置!既然你使用了我不熟悉的类,我感到震惊的是我所要做的只是复制你的代码,做一些导入,然后调用它。做得好!谢谢!! – DSlomer64 2015-02-17 18:15:07
- 1. 如何设置鼠标位置?
- 2. 设置鼠标位置
- 3. 如何在元素的中心设置鼠标位置为0,0?
- 4. java的鼠标位置
- 5. 如何在C上设置鼠标光标位置?
- 6. firemonkey设置鼠标光标位置
- 7. 如何在pygame中设置鼠标光标在物体中心的位置?
- 8. 在mac上的visual studio中设置鼠标光标位置
- 9. 在鼠标位置
- 10. 如何在java中返回我的鼠标指针的位置?
- 11. 如何在当前鼠标位置设置工具提示?
- 12. Python设置鼠标位置跨平台
- 13. 鼠标位置()
- 14. 如何设置X11(linux桌面)下的鼠标位置?
- 15. 如何获得坐标相对于鼠标位置的位置?
- 16. 鼠标光标在Javascript中的位置?
- 17. 的Java:对鼠标的位置
- 18. 如何在鼠标位置插入div?
- 19. PyGame从位图设置鼠标光标
- 20. jQuery鼠标位置
- 21. Vb.net鼠标位置
- 22. Python,从角色位置到鼠标位置的鼠标位置拍摄
- 23. 无法将面板位置设置为splitContainer中当前的鼠标位置?
- 24. 鼠标指向在硒中的位置
- 25. 如何在OpenGL/Glut中更改鼠标光标的位置?
- 26. 在Java中设置按钮的位置
- 27. 如何将鼠标光标位置设置为C#屏幕上的指定点?
- 28. SendInput的鼠标位置值
- 29. RotateTransformed DrawString的位置鼠标
- 30. iframe上的鼠标位置
很好,谢谢。这看起来正是我需要的。 – 2010-05-31 04:16:07