假设我的布局面板有多个文本框。
现在我希望通过名称在该面板中获取特定的文本框。我怎么能这样做?
提前致谢。
答案 0 :(得分:1)
实现此目的的一种方法是在创建文本框时将其保留在hashMap中。 但是你需要注意内存泄漏。 另一种方法是使用GWtQuery。您可以通过名称访问DOM中的任何元素。
要在不使用GWTQuery的情况下获取它,您可以这样做:
Element element = Document.get().getElementById("myTextboxID");
TextBox box = new TextBox();
box.wrap(element);
答案 1 :(得分:0)
由于gwt没有css-selector实现,我会使用gwtquery aka gquery,其选择器实现执行得非常好。
除了许多其他功能外,它还能够返回与任何元素相关联的小部件:
import static com.google.gwt.query.client.GQuery.*;
[...]
// if the textbox is already a widget
TextBox b = $("input[name=first_name]").widget();
//Or it its an element
TextBox b = TextBox.wrap($("input[name=search]").get(0));
b.setValue("Foo");