2012-03-03 6 views
0

저는 StackPanel을 사용하고 있습니다. StackPanel 하위 위젯 중 하나를 바꿀 수있는 스마트 방법이 있는지 궁금합니다. 헤더를 수정하는 것이 아닙니다. 아이들 중 한 명을 클릭하면 몇 가지 요인에 따라 다른 것을 보여주고 싶습니다. 어떤 설교? 당신은 (아마도 getWidgetIndex(...)를 호출하여) 교체 할 아이의 인덱스를 알고gwt StackPanel 위젯 바꾸기

답변

0

, 당신과 같이 새에 의해이 위젯을 대체 할 수

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

이 매우 만족스러운 해결책이 아니다, 그것은 성가신 일이있다 불리. 위젯을 제거하면 페이지가 항상 맨 위로 이동합니다. 이제는 이상한 일을합니다. 위젯 목록을 보관하고 대체하는 대신에 apperance를 변경하도록 "알립니다". – Grzes