Robot 对象有几个个方法就是操作键盘的:
void keyPress(int kc)
void keyRelease(int kc)
//例子
import java.awt.AWTException
import java.awt.Robot
import java.awt.event.KeyEvent
public class RobotTest {
private static Robot rbt
static{
try {
rbt=new Robot()
} catch (AWTException e) {e.printStackTrace()}
}
//按下
static void press(int kc){rbt.keyPress(kc)}
//释放
static void release(int kc){rbt.keyRelease(kc)}
static void type(int kc){press(kc)release(kc)}
public static void main(String[] args) {
//F7 长按
//press(KeyEvent.VK_F7)
//F7按一下
type(KeyEvent.VK_F7)
//...
}
}
java.awt.Robot
//模拟Ctrl+Alt+Z的按下和抬起public void keyBoardDemo()
{
robot.keyPress(KeyEvent.VK_CONTROL)
robot.keyPress(KeyEvent.VK_ALT)
robot.keyPress(KeyEvent.VK_Z)
robot.keyRelease(KeyEvent.VK_CONTROL)
robot.keyRelease(KeyEvent.VK_ALT)
robot.keyRelease(KeyEvent.VK_Z)
}
问答下载
社区
推荐频道
活动
招聘
专题
打开CSDN APP
Copyright © 1999-2020, CSDN.NET, All Rights Reserved
打开APP
利用 Java.awt.Robot 模拟键盘输入遇到的几点问题(组合键,双引号) 原创
2016-12-25 22:42:22
追星花狸
码龄7年
关注
刚学习完java se 由于是自学免不了绕弯子,好在各大神鼎力相助,问题都得到解决,希望能够帮到遇到同样问题的朋友。
这些天在做一个超级迷你的MyEclipse,于是用到了Java.awt.Robot中的
void
keyPress(int keycode)
Presses a given key.
void
keyRelease(int keycode)
两个方法,看了几篇博文,都没能解决我的问题。
1.组合键的问题
本来利用这个VK_RIGHT_PARENTHESIS
static int
VK_RIGHT_PARENTHESIS
Constant for the ")" key.
robot.keyPress(KeyEvent.VK_RIGHT_PARENTHESIS)
robot.keyRelease(KeyEvent.VK_RIGHT_PARENTHESIS)
输出“)”是符合逻辑的,可是事实上结果就是报错,无效的键值。
Exception in thread"AWT-EventQueue-0" java.lang.IllegalArgumentException: Invalid keycode