0

假设我有一个包含多个文本框的布局面板。

现在我想通过它的名字在那个面板中获取一个特定的文本框。我怎样才能做到这一点?

提前致谢。

4

2 回答 2

1

一种方法是在创建它们时将文本框的引用保留在 hashMap 中。不过,您需要小心内存泄漏。另一种方法是使用GWtQuery。然后,您可以通过名称访问 DOM 中的任何元素。

要在没有 GWTQuery 的情况下获得它,您可以这样做:

Element element = Document.get().getElementById("myTextboxID");
TextBox box = new TextBox();
box.wrap(element);
于 2012-11-30T12:24:45.650 回答
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");
于 2012-11-30T19:40:56.823 回答