Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Java代码中处理外部软件的GUI_Java_User Interface_Runtime - Fatal编程技术网

如何从Java代码中处理外部软件的GUI

如何从Java代码中处理外部软件的GUI,java,user-interface,runtime,Java,User Interface,Runtime,我需要在Java代码中运行一个外部应用程序。我可以使用Runtime r=Runtime.getRuntime()和r.exec(…)运行应用程序,但是,这会打开应用程序的GUI。我仍然需要在一些字段中输入一些设置,然后按enter键。因此: 是否有某种方法可以从Java代码中处理GUI(填写字段、按“return”等) 提前感谢您的回答 Anas使用AWT: “此类用于生成本机系统输入事件,用于测试自动化、自动运行演示以及其他需要控制鼠标和键盘的应用程序。”感谢RichieHindle和Van

我需要在Java代码中运行一个外部应用程序。我可以使用Runtime r=Runtime.getRuntime()和r.exec(…)运行应用程序,但是,这会打开应用程序的GUI。我仍然需要在一些字段中输入一些设置,然后按enter键。因此:

是否有某种方法可以从Java代码中处理GUI(填写字段、按“return”等)

提前感谢您的回答

Anas使用AWT:


“此类用于生成本机系统输入事件,用于测试自动化、自动运行演示以及其他需要控制鼠标和键盘的应用程序。”

感谢RichieHindle和Vanya的评论。AWT Robot类确实与外部软件一起工作(在本例中,我只需要按enter键,就可以了,没问题)。但进一步的处理似乎相当困难,因为每个按键(输入用户名)都需要一行java代码(除非我错过了一些捷径)。我将尝试更多地自动化这个过程,或者找到一些解决方法

谢谢你,这是很有启发性的


Anas

您确定java.awt.Robot也可以访问其他应用程序吗?好的,谢谢您提供有关此类的信息。我会在下次有机会的时候尝试并报告结果。我在widown Vista上,我发现我可以简化GUI的处理(通过将默认设置更改为side step filling any field),但我仍然需要按“enter”。我认为这可能是可行的,我们将看到Robot类被设计为模拟鼠标点击,因此它肯定可以访问其他系统-它正在执行发送到底层操作系统的硬件鼠标点击。您可能希望使用构建在java.awt.Robot类之上的东西-如Abbot和Costello-