3

我有一个AbsolutePanel和不同的小部件(按钮、图像、标签等)。是否可以获得特定类型的所有小部件的集合或数组或任何东西,例如 - 图像?

4

2 回答 2

6

干得好 :

我们可以用iterator.

Iterator<Widget> arrayOfWidgets = abslPanel.iterator();
while (arrayOfWidgets.hasNext()){
  Widget ch = arrayOfWidgets .next();
  if (ch instanceof Button) {
  //Do something (in your case make an arraylist of your objects)
  }
}
于 2013-03-09T06:33:07.647 回答
2

如果您将 gwtquery 添加到您的项目中,这真的很容易:

List<Image> allImages = $("*", myPanel).widgets(Image.class);

甚至您可以使用复杂的 CSS 选择器来执行更精细的区分:

List<MyWidget> allMyWidgets = $("*:nth-child(even)", myPanel).widgets(MyWidget.class);
于 2013-03-18T12:32:36.457 回答