一个键盘按键实例

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.KeyEvent;

public class Test {

/**
* @param args
* <a href="http://home.51cto.com/index.php?s=/space/2305405" target="_blank">@throws</a> AWTException
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Robot robot = new Robot(); // 创建一个robot对象
Runtime.getRuntime().exec("notepad"); // 打开一个记事本程序
robot.delay(2000); // 等待 2秒
// 窗口最大化
keyPressWithAlt(robot, KeyEvent.VK_SPACE); // 按下 alt+ 空格
keyPress(robot, KeyEvent.VK_X);// 按下x键
robot.delay(1000);// 等待 1秒
keyPressString(robot, "大家好,我是一个小机器人,我有很多本领呢 !"); // 输入字符串
robot.delay(3000);// 等待 3秒
keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
keyPressString(robot, "现在,我就向大家展示一下.....嘻嘻"); // 输入字符串
robot.delay(3000);// 等待 3秒
keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
keyPressString(robot, "首先,我能按下 键盘的任何一个键。下面,我单独按下a,b,c,d键"); // 输入字符串
keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
robot.delay(3000);// 等待 3秒
keyPress(robot, KeyEvent.VK_A); // 按下 a 键
robot.delay(2000);// 等待 2秒
keyPress(robot, KeyEvent.VK_B); // 按下 b 键
robot.delay(2000);// 等待 2秒
keyPress(robot, KeyEvent.VK_C); // 按下 c 键
robot.delay(2000);// 等待 2秒
keyPress(robot, KeyEvent.VK_D); // 按下 d 键
robot.delay(2000);// 等待 2秒
keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
keyPressString(robot, "呵呵,完成了。。。。");
robot.delay(3000);// 等待 3秒
keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
keyPressString(robot, "恩,对了 上面 文字很多是不是 感到 很乱呢??? 我现在 帮你清空一下 ");
robot.delay(2000);// 等待 2秒
keyPressWithCtrl(robot, KeyEvent.VK_A); // 按下 ctrl+A 全选
robot.delay(2000);// 等待 2秒
keyPress(robot, KeyEvent.VK_DELETE); // 清除
robot.delay(3000);// 等待 3秒
keyPressString(robot, "恩,现在 是不是 觉得 清爽多了 另外 我还会按 组合键呢 ...");
keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
robot.delay(3000);// 等待 3秒
keyPressString(robot, "................好像已经 演示过了 吧 ,呵呵 ");
keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
robot.delay(3000);// 等待 3秒
keyPressString(robot, "其实,我还有很多本领呢 现在就不向大家展示了 .....");
keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
robot.delay(3000);// 等待 3秒
keyPressString(robot, "谢谢大家!!!!!");

}

// shift+ 按键
public static void keyPressWithShift(Robot r, int key) {
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(key);
r.keyRelease(key);
r.keyRelease(KeyEvent.VK_SHIFT);
r.delay(100);
}

// ctrl+ 按键
public static void keyPressWithCtrl(Robot r, int key) {
r.keyPress(KeyEvent.VK_CONTROL);
r.keyPress(key);
r.keyRelease(key);
r.keyRelease(KeyEvent.VK_CONTROL);
r.delay(100);
}

// alt+ 按键
public static void keyPressWithAlt(Robot r, int key) {
r.keyPress(KeyEvent.VK_ALT);
r.keyPress(key);
r.keyRelease(key);
r.keyRelease(KeyEvent.VK_ALT);
r.delay(100);
}

// 打印出字符串
public static void keyPressString(Robot r, String str) {
Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();// 获取剪切板
Transferable tText = new StringSelection(str);
clip.setContents(tText, null); // 设置剪切板内容
keyPressWithCtrl(r, KeyEvent.VK_V);// 粘贴
r.delay(100);
}

// 单个 按键
public static void keyPress(Robot r, int key) {
r.keyPress(key);
r.keyRelease(key);
r.delay(100);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值