zoukankan      html  css  js  c++  java
  • 使用SWT模拟鼠标键盘事件

    最近在学习SWT/JFace,在做一个小东西的时候需要模拟鼠标键盘事件,在网上搜了一下,在java中模拟这些事件,主要有两种方法: 
    一、使用AWT中的Robot类
    Robot
    java.lang.Object
    java.awt.Robot

    --------------------------------------------------------------------------------

    public class Robotextends Object 此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot 的主要目的是便于 Java 平台实现自动测试。类中几个主要的模拟函数如下:
    void keyPress(int keycode) 
              按下给定的键。 
     void keyRelease(int keycode) 
              释放给定的键。 
     void mouseMove(int x, int y) 
              将鼠标指针移动到给定屏幕坐标。 
     void mousePress(int buttons) 
              按下一个或多个鼠标按钮。 
     void mouseRelease(int buttons) 
              释放一个或多个鼠标按钮。 
     void mouseWheel(int wheelAmt) 
              在配有滚轮的鼠标上旋转滚轮。 

    二、使用SWT中的鼠标键盘事件 
        在SWT的snippets中有两个例子用来介绍这两个方法的使用,如下:

    (1)、模拟鼠标事件

    (2)、模拟键盘事件



    两种方法中都是先声明一个Event,然后将该Event的type类型设置为对应的SWT.KeyUp/KeyDown/MouseUp/MouseDown,最后通过Display类的post(Event)方法来模拟对应的事件。注意:如果有多个控件,需要得到对应控件的display属性,然后post该事件。例如,在一个窗口中有一个Browser,则需要使用thisClass.browser.getDisplay().post(event)。 

  • 相关阅读:
    python 学习记录
    Oracle Spatial构建自定义投影坐标系
    GeoWebCache参数之pixelSize(像素大小)
    MapViewer提示错误之Cannot read USER_SDO_TILE_ADMIN_TASKS view from database
    《微软ASP.NET和AJAX:构建网络应用程序》
    Microsoft Dynamics CRM 2011 beta 今天发布!
    重要:欢迎光临新版微软中文CRM论坛!
    快讯:CRM Update Rollup(升级包) 每8周一个!
    微软的云策略
    风向标:Microsoft Dynamics 与企业生产力
  • 原文地址:https://www.cnblogs.com/okuc/p/4149353.html
Copyright © 2011-2022 走看看