2012-03-03 47 views
0

我使用StackPanel,我想知道是否有一個聰明的方法來替換StackPanel的子部件之一,而不是修改頭部。點擊其中一個孩子,取決於一些因素,我想(或不)顯示另一個。任何消化?gwt StackPanel替換部件

回答

0

知道你要替換(通過調用getWidgetIndex(...)也許)孩子的指數,可以像這樣通過更換一個新的這個小工具:

StackPanel sp = new StackPanel(); 
// ... you are setting up your StackPanel etc 

// when you want to replace a widget 
int index = sp.getWidgetIndex(widgetYouWantToReplace); 
if (index != -1) { 
    sp.insert(newWidget, index); 
} 
sp.remove(widgetYouWantToReplace); 
+0

這不是很令人滿意的解決方案,它有一個惱人壞處。刪除了一個小部件後,該頁面總是移動到頂部。 現在我做了一些奇怪的事情,我保留一個小部件列表,而不是替換它們,我只是「告訴」他們改變它們的外觀:) – Grzes 2012-03-14 16:20:44