2017-05-24 30 views
1

我们可以使用数字键盘的键盘快捷键即键盘快捷键移动鼠标光标(数字键盘),即,6,2,8 ......不与Java Robot类

4-left 6-right 2-down 8-up 

滚动工作鼠标光标而不使用鼠标。

通过启用

访问中心的访问\轻松的控制面板\易于\使鼠标更易于使用

但它不是用java机器人类工作 - 它只是打印数字即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())日志(Level.SEVERE,空,前); } } }

+2

这可能帮助,如果没有一个重复的问题: https://开头stackoverflow.com/questions/40942786/do-java-awt-robot-and-java-awt-event-keyevent-support-mousekeys –

回答

1

的文档指出java.awt.Robot(见:https://docs.oracle.com/javase/8/docs/api/java/awt/Robot.html)类 “中的平台的本地输入队列生成输入”。

MouseKeys不能在同一级别上操作(它们实际上只是用鼠标移动操作替换击键)。

因此,因为MouseKeys不监视java.awt.Robot增加的本机输入队列,它不能用鼠标移动替换事件。

所以总之,结论是你不能结合java.awt.Robot类与鼠标键。


然而,java.awt.Robot类确实提供其他的功能,你可以使用控制鼠标,即在#mouseMove功能:https://docs.oracle.com/javase/8/docs/api/java/awt/Robot.html#mouseMove-int-int-

+0

谢谢先生那么什么是使用java滑动鼠标的简单方法 –

+0

'java。 awt.Robot'类还提供了移动鼠标的功能:https://docs.oracle.com/javase/8/docs/api/java/awt/Robot.html#mouse移动-INT-内部 - – nbokmans