2015-11-20 82 views
1

假設我有一個觀點名爲A及其XML是一樣的東西:如何更改gwt面板的內容?

<g:HTMLPanel> 
    <my:widgetA> 
    .... 
    </my:widgetA> 
</g:HTMLPanel> 

另外,我有一個名爲widgetB另一個部件。我想根據某些條件更改視圖A的內容,例如:

if (...is true) { 
    A.clear(); 
    A.add(widgetA); 
} else { 
    A.clear(); 
    A.add(widgetB); 
} 

現在問題是視圖A無法正確顯示widgetA。在將widgetA添加到視圖中時,視圖A變爲空白。上面的實現有什麼問題?

+2

這段代碼沒有錯。問題在別的地方。檢查瀏覽器中的HTML以查看爲什麼窗口小部件A不可見。 –

回答

1

您可能正在添加一個小部件,該小部件實現了RequiresResize或至少需要給定固定大小。

要了解如果是這樣的情況下,只需要調用[的setSize(http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/client/ui/UIObject.html#setSize(java.lang.String,java.lang.String中)與固定大小一樣,該小工具):widgetA.setSize('50px','50px);'

如果這樣的作品,您可能需要提供尺寸或使用面板,其實現ProvidesResize