写之前的话
一个输入框,按钮、图片以及图片的Base64编码,图片是按钮的背景图片,按钮覆盖在字符串上面,想要达到的目的是当触发退格键(Backspace)事件时,遇到图片的标签,则将该图片的字符串全部删除并删除按钮,此时遇到自己使用退格键触发一次(删除字符串),还需要自动执行一次(删除按钮),所以需要模拟执行一次。
JDK自带了Robot类,此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot 的主要目的是便于 Java 平台实现自动测试。
例子:打开win7的任务管理器,快捷键是ctrl+shift+esc
import java.io.*;
import java.awt.*;
import java.util.*;
import java.awt.event.*;
/**
*@author:HaxtraZ
*@date:2014年9月25日 22:44:01
*@descripion:模拟键盘事件
* 通过调用jdk的Robot类的keyPress和keyRelease方法实现
**/
public class J_Keydown
{
public static void main(String[] args)
throws AWTException
{
Robot r=new Robot();//创建自动化工具对象
r.keyPress(KeyEvent.VK_CONTROL);//按下左Contrl keycode为17
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_ESCAPE);
r.keyRelease(KeyEvent.VK_ESCAPE);
r.keyRelease(KeyEvent.VK_SHIFT);
r.keyRelease(KeyEvent.VK_CONTROL);//释放左Control键
}
}