import java.io.*;

import java.util.*;

import java.awt.*;

import java.awt.event.*;

/**

* 支持脚本文件的按键控制程序

*/

public class KeySprite{

public static void main(String[] args){

String filename = "test.t";

try{

//读取配置文件

Vector v = readFile(filename);

//执行文件

parseVector(v);

}catch(IOException e){

System.out.println("配置文件错误");

}catch(Exception e){

System.out.println("其他错误");

}

}

/**

* 读取文件到Vector中

* @param filepath 文件路径

*/

public static Vector readFile(String filepath) throws IOException{

Vector v = new Vector();

//文件缓冲输入流

BufferedReader br = new BufferedReader(

new InputStreamReader(

new FileInputStream(filepath)));

//读取数据

String s = br.readLine();

while(s != null){

//添加到v

v.add(s);

//读取下一行

s = br.readLine();

}

//关闭输入流

br.close();

//返回数据

return v;

}

/**

* 解析读到的Vector,并执行对应的操作

* @param v Vector对象

*/

public static void parseVector(Vector v){

int size = v.size();

try{

//创建Robot对象

Robot r = new Robot();

for(int i = 0;i < size;i++){

String s = (String)v.get(i);

//分解

String[] data = s.split(" ");

//解析执行

if(data[0].equals("移动")){

//获得坐标

int x = Integer.parseInt(data[1]);

int y = Integer.parseInt(data[2]);

//移动

r.mouseMove(x,y);

}else if(data[0].equals("按键")){

//获得按键种类

char c = data[1].toLowerCase().charAt(0);

//按键

r.keyPress(c);

//释放

r.keyRelease(c);

}else if(data[0].equals("暂停")){

//获得暂停时间

int time = Integer.parseInt(data[1]);

//暂停

Thread.sleep(time);

}

}

}catch(Exception e){

e.printStackTrace();

}

}

}

脚本文件test.t

暂停 1000

移动 200 300

暂停 1000

移动 210 300

暂停 1000

移动 220 300

暂停 1000

移动 230 300

暂停 1000

移动 240 300

暂停 1000

移动 250 300

暂停 1000

移动 260 300

暂停 1000

移动 270 300

暂停 1000

移动 280 300

暂停 1000

移动 290 300

暂停 1000

移动 300 300

暂停 1000

移动 310 300

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1084863

java按键程序_一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)...相关推荐

  1. java制作一个应用程序_一个制作java小应用程序的全过程

    一个制作java小应用程序的全过程 一.安装java软件: 从网上下载jdk-7u25-windows-i586.exe,安装到C:\Program Files\Java\jdk1.7.0_25. 二 ...

  2. java培训 三年_一个三年java开发经验的程序员:java学习路线

    做开发的工作已经三年多了,说起来实在是惭愧,自己的知识树还像一棵小草一样,工作中使用到了许多的知识和技术,不过系统性不够.根基不牢.并且不够深入!当然,慢慢的我也更加的清楚,我需要学习一些什么样的知识 ...

  3. 应用java编写 按键小脚本_一个使用JAVA编写的类似按键精灵的程序

    import java.io.*; import java.util.*; import java.awt.*; import java.awt.event.*; /** * 支持脚本文件的按键控制程 ...

  4. c语言编程雅可比解方程,求雅可比迭代法解方程组的C\C++程序,急需一个运用雅可比迭代法求线性方程组的C/C++程序!...

    问题标题 求雅可比迭代法解方程组的C\C++程序,急需一个运用雅可比迭代法求线性方程组的C/C++程序! 2019-7-8来自ip:14.137.150.56的网友咨询 浏览量:218 手机版 问题补 ...

  5. java如何编写一个qq宠物程序_肿么用java编写一个QQ宠物喂食的程序?

    1)程序运行开始的时候,提示输出两个文件的路径: 2)程序一行一行比较,当其中有一行不一样的时候,提示文件内容不同的行数以及内容: 3)如果文件内容一样,提示用户内容一样. package buffe ...

  6. java单机应用程序_一个简单的java桌面应用:单机版IFTTT

    1.项目背景: ifttt是"if this then that"的缩写,事实上是让你的网络行为能够引发连锁反应.让你使用更为方便.ifttt旨在帮助人们利用各网站的开放API,将 ...

  7. java飞机场模拟程序_一个java程序模拟race condition的程序,用飞机进港来模拟,自己写了一部分...

    题目是这样的:按照狄更斯算法,算法都在我写的程序里面了,要求两架飞船进港,同时只能是一架飞机进港,他们之间用global参数来进行racecondition.现在我把大体的程序写了一下,我不... 题 ...

  8. java写病毒程序代码_一个用JAVA写的清除EXE病毒文件的程序(转)

    Clear.java 这是一个主类,主要是负责运行程序和参数检查,不是核心 程序代码: import java.io.*; public class Clear{ public static void ...

  9. 抽取样本java实验报告_一个自定义classloader的函数抽取壳样本

    原标题:一个自定义classloader的函数抽取壳样本 本文为看雪论坛文章 看雪论坛作者ID:lemn 本文为 看雪安卓高研2w班(7月班)优秀学员作品. 下面先让我们来看看学员的学习心得吧! 学员 ...

最新文章

  1. 相机标定 matlab opencv ROS三种方法标定步骤(3)
  2. Linux下多播的配置【十全十美】
  3. ElasticSearch知识汇总
  4. 互联网分布式微服务云平台规划分析--服务监控中心
  5. 人脸识别(二)——训练分类器的补充说明
  6. 适用于Mac OS X的官方Java 7 –状态
  7. MySQL操作权限整理
  8. pagecontrol
  9. 不需要训练数据的图像恢复
  10. Java使用HTTPClient4.3开发的公众平台消息模板的推送功能
  11. 躺赚的意思不是做到高级别就觉得高枕无忧了
  12. 6个部件组成一个圆球_怎样找一个好月嫂?这6个问题一问便知!
  13. 聊聊flink的Table Formats
  14. 免费开源的电路图和PCB绘图软件KiCAD
  15. MacOS Big Sur 开启 HIDPI
  16. 四 实例 图像的手绘效果
  17. java全栈工程师要求_Java全栈工程师
  18. 如何从0到开始写短视频剧本,轻轻松松获得百万点赞
  19. 基于pyagme用python做接小球游戏
  20. Smart Git Assume Unchanged

热门文章

  1. 教资必备的5大证件,丢失后该如何补办?
  2. java: JDK isn‘t specified for module ‘maven-junit41‘解决办法
  3. WBO第一届区块链高峰论坛新闻发布会盛大召开
  4. 我的世界java无限水_教程/无限水水井 _ 《我的世界》中文Minecraft Wiki:最详细的官方我的世界百科...
  5. 人工智能与我们的世界
  6. B2B网站运营者及优化排名十赌九输-免费套路必是死路
  7. centos6操作系统升级到centos7
  8. 在虚拟机Virtual box搭建linux环境
  9. PyTorch Sequential Models - 简化神经网络(pytorch系列-33)
  10. IDM 下载工具利器 - 经典好用优秀的 Windows 多线程加速下载软件