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)。 

  • 相关阅读:
    大学总结(一)
    关于数组名与指针的相互转换
    错误:无法执行操作,因为未将指定的 Storyboard 应用到此交互控件的对象
    延迟初始化 (Lazy Initialization)
    Sql Server 中 GAM、SGAM、PAM、IAM、DCM 和 BCM 的详解与区别
    Xml格式的字符串(string)到DataSet(DataTable)的转换
    Sql Server 内存用不上的解决办法
    Sql Server 管理区分配(GAM,SGAM)和可用空间(PAM)的原理
    Sql Server LightWeight Pooling(纤程) 选项
    在线 Sql Server 服务无法启动的解决办法
  • 原文地址:https://www.cnblogs.com/okuc/p/4149353.html
Copyright © 2011-2022 走看看