2013-03-09 45 views

回答

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) 
    } 
} 
+0

是這是它,爲什麼沒有關閉的問題? – Dipak 2013-03-09 19:03:39

+1

@Piccaza在這裏獲取答案的問題並未關閉;他們可以得到未來的答案,仍然 – 2013-03-11 09:48:38

+3

這種方法沒有找到面板中的所有小部件,只是添加到面板的小部件而不是添加到其子面板的小部件 – 2013-03-18 12:51:41

2

如果添加gwtquery到您的項目它是很容易:

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

即使你可以使用先進的CSS選擇器進行更精細的鑑別:

List<MyWidget> allMyWidgets = $("*:nth-child(even)", myPanel).widgets(MyWidget.class); 
+1

+1,但在我看來它的矯枉過正使用外部庫僅用於一個功能。 – FFire 2013-03-18 14:09:28

+1

是的,你是對的,但實際上gquery真的是輕量級的,並提供了很多有用的捷徑,讓你的生活真的很容易,所以這可能是你使用gquery的第一個理由;-)。事實上,如果不包括幾個庫,我就不會啓動任何gwt項目:杜松子酒和gquery。在我的pom.xml和我的ui.xml文件中編寫幾行文本比編寫一些代碼塊(比如迭代器)要容易得多。 – 2013-03-18 15:01:19

相關問題