我正在尝试创建一个RAP应用程序,该应用程序需要在游戏过程中将光标指针移动到某个位置。

有没有办法使用SWT移动光标位置?显然java.awt.Robot().mouseMove在这种情况下无效,因为它使用AWT。

最佳答案

RAP不支持更改光标位置。

Display::getCursorLocation允许查询(最后知道的)光标位置,但是RAP并未实现Scc中可用的setCursorLocation

即使有API服务器端,我也怀疑客户端安全策略是否会弄乱鼠标指针的位置。


在发表您的评论时,对于端到端测试RAP UI,您可能需要看一下这篇文章:https://eclipsesource.com/blogs/2014/04/29/how-to-write-ui-tests-for-rap-with-selenium-2-0/,它描述了如何为RAP应用程序设置Selenium UI测试。

以我的经验,最好将UI与其余的应用程序代码分开,以使UI层变得如此之薄,以至于无需进行自动测试就足够安全了。

测试SWT或RAP UI的另一种方法是将相关的小部件暴露给测试代码,并使用Widget::notifyListeners模拟用户交互。同样,如果您的应用程序逻辑清晰地分开并且可以在测试过程中被两倍的测试所取代,那么这将是最好的选择。

关于java - 如何在RAP中定位光标指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52034886/

10-09 13:43