用于移动鼠标光标(数字键盘)的键盘快捷方式,即 a、6、2、8... 不适用于 java 机器人 class
Key Board shortcut for moving mouse cursor (num pad) i.e a,6,2,8... are not working with java robot class
我们可以使用数字键盘的键盘快捷键,即
4-left 6-right 2-down 8-up
不使用鼠标滚动鼠标光标。
通过启用
Control Panel\Ease of Access\Ease of Access Center\Make the mouse easier to use
但它不适用于 java 机器人 class - 它只是 打印 数字,即屏幕上的 4/6/2/8。
知道可能是什么问题吗?
代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.logging.Level;
import java.util.logging.Logger;
class MoveCursor
{
public static void main(String[] args)
{
try {
Robot r=new Robot();
r.keyPress(KeyEvent.VK_NUMPAD4);
r.delay(4000);
r.keyRelease(KeyEvent.VK_NUMPAD4);
} catch (AWTException ex) {
Logger.getLogger(MoveCursor.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
文档指出 java.awt.Robot
(参见:https://docs.oracle.com/javase/8/docs/api/java/awt/Robot.html)class "generates inputs in the platforms native input queue"。
鼠标键不在同一级别上操作(它们实际上只是用鼠标移动操作代替击键)。
因此,由于鼠标键不监视 java.awt.Robot
添加到的本机输入队列,因此它无法用鼠标移动替换事件。
所以简而言之,结论是您不能将 java.awt.Robot
class 与鼠标键结合使用。
但是,java.awt.Robot
class 确实提供了其他可用于控制鼠标的功能,即 #mouseMove
功能:https://docs.oracle.com/javase/8/docs/api/java/awt/Robot.html#mouseMove-int-int-
我们可以使用数字键盘的键盘快捷键,即
4-left 6-right 2-down 8-up
不使用鼠标滚动鼠标光标。
通过启用
Control Panel\Ease of Access\Ease of Access Center\Make the mouse easier to use
但它不适用于 java 机器人 class - 它只是 打印 数字,即屏幕上的 4/6/2/8。
知道可能是什么问题吗?
代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.logging.Level;
import java.util.logging.Logger;
class MoveCursor
{
public static void main(String[] args)
{
try {
Robot r=new Robot();
r.keyPress(KeyEvent.VK_NUMPAD4);
r.delay(4000);
r.keyRelease(KeyEvent.VK_NUMPAD4);
} catch (AWTException ex) {
Logger.getLogger(MoveCursor.class.getName()).log(Level.SEVERE, null, ex); } } }
文档指出 java.awt.Robot
(参见:https://docs.oracle.com/javase/8/docs/api/java/awt/Robot.html)class "generates inputs in the platforms native input queue"。
鼠标键不在同一级别上操作(它们实际上只是用鼠标移动操作代替击键)。
因此,由于鼠标键不监视 java.awt.Robot
添加到的本机输入队列,因此它无法用鼠标移动替换事件。
所以简而言之,结论是您不能将 java.awt.Robot
class 与鼠标键结合使用。
但是,java.awt.Robot
class 确实提供了其他可用于控制鼠标的功能,即 #mouseMove
功能:https://docs.oracle.com/javase/8/docs/api/java/awt/Robot.html#mouseMove-int-int-