当前位置: 首页 > 知识库问答 >
问题:

在Mac上使用AWT Robot切换应用程序有时才起作用

端木乐语
2023-03-14

我正在尝试使用Robot切换应用程序,然后输入一些文本。要做到这一点(在我的mac电脑上),我按Meta,Tab,然后按以下顺序释放Tab,Meta:

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_META);
robot.keyPress(KeyEvent.VK_TAB);

robot.keyRelease(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_META);

这是可行的,但只是偶尔(大约每5或6次按压)。我试过在按压和发布之间调用Thread.wait(),但没有效果。用META_DOWN_MASK屏蔽Tab也没有效果。我也试过使用JavaFX机器人(com.sun.glass.ui.机器人),但JavaFX版本根本不起作用。

共有1个答案

戚奇略
2023-03-14

啊。。似乎我需要指定事件之间的延迟。更新:

            Robot robot = new Robot();
            robot.keyPress(KeyEvent.VK_META);
            robot.delay(300);
            robot.keyPress(KeyEvent.VK_TAB);

            robot.keyRelease(KeyEvent.VK_TAB);
            robot.keyRelease(KeyEvent.VK_META);
 类似资料:
  • 我在10.13.6高地使用Mac 我尝试设置一个Rails应用程序在Mac上本地运行。当我尝试使用“createdb xyz”和“bin/setup”设置数据库时,我收到一条错误消息: 数据库“xyz”不存在致命错误:角色“postgres”不存在 无法为 {“适配器”= 创建数据库 有什么办法解决这个问题吗?

  • > 我开发了一个javaFx应用程序,并在Mac的com.zenjava maven插件的帮助下创建了该应用程序的中间包。 bundle是用JDK:1.7.0_40.jdk创建的

  • 问题内容: 我正在使用ajax加载来获取页面上的某些内容。我正在使用引导程序3和引导程序切换。加载内容时,bootstrap 3内容运行良好(您可以清楚地看到面板panel- primary)。但是引导加载内容不会被加载(您只能看到一些复选框)。annyone知道如何使它正常工作吗?还是我应该注意其他一些拨动开关?如果是哪一个? 编辑:我还没有测试出事件绑定,因为我无法使引导切换CSS在Ajax加

  • 我的模特。py看起来像: 模型中描述了“名称”和“站点”! 每当我尝试运行我的服务器时,我都会 django.db.utils.编程错误:除非使用可以解释8位字节串的text_factory(如text_factory=str),否则不得使用8位字节串。强烈建议您将应用程序切换到Unicode字符串。 我怎样才能将我的应用程序切换到上面提到的Unicode字符串,或者如果有其他方法来解决这个问题,

  • 问题内容: 是否可以将Java应用程序转换为Mac OS X可执行应用程序? 我使用NetBeans进行Java开发,我想将“ dist”文件夹“打包”到应用程序中(为方便起见) 问题答案: 使用Apple Java扩展及其指南 在苹果Java扩展包含的信息非常完整的开发指南的Java应用程序在Mac OS X上部署 和生产应用捆绑。它还介绍了Apple Java扩展的其他方面,例如对与标准Mac

  • 我创建了一个Android应用程序,它不能在平板电脑上运行。 我已经在文件夹中添加了文件。当我在模拟器上运行时,它正在工作,但在平板电脑中它给出了错误, 日志输出: java.lang.RuntimeException:无法启动活动ComponentInfo{idev.android.soulspotter/idev.aandroid.sourlspotter.Login}:android.con