gpt4 book ai didi

java - 使用 SWTBot 递归匹配 Shell 的所有 Widget

转载 作者:行者123 更新时间:2023-11-30 09:22:34 25 4
gpt4 key购买 nike

我想知道是否有任何方法可以获取给定 Shell 中的所有小部件,包括 Shell 的孙子部件。实现这一目标的最简单方法是什么?

最佳答案

比唯一的答案更具可读性和扩展性:

主要思想是您不能“一次”获取所有小部件,您需要使用ma​​tcher。此外,即使您已经获得小部件,您也应该创建它们的副本以避免无效线程访问错误。

因此,用于匹配所有(在本例中为所有 Text 小部件,但它可以轻松用于任何类型或小部件,如 Kane 的回答)的代码段:

import org.eclipse.swtbot.swt.finder.SWTBot;
import org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;

Matcher<? extends Text> matcher = WidgetMatcherFactory.widgetOfType(Text.class);
List<? extends Text> widgets = new SWTBot().widgets(matcher);

for (Text t : widgets) {
// Create a copy to work with to avoid Invalid Thread exception
SWTBotText text = new SWTBotText (t);
// Do stuff...
}

关于java - 使用 SWTBot 递归匹配 Shell 的所有 Widget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16457472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com