2010-11-15 61 views
5

是否有像StackPanel或DecoratedStackPanel這樣的組件能夠一次在堆棧中顯示多個面板?我喜歡可以擴展全部或摺疊我想要的任意數量的面板。GWT StackPanel限制?

回答

3

好的,因爲我沒有答案,這是我的工作。谷歌並不容易擴展現有的面板來添加或修改功能,所以我做的是我下載了源代碼,將StackPanel.java,DecoratorPanel.javaDecoratedStackPanel.java複製到我的gwt項目的包中。

主要的變化我真的需要做的是從

public void showStack(int index) { 
    if ((index >= getWidgetCount()) || (index < 0) || (index == visibleStack)) { 
     return; 
    } 

    if (visibleStack >= 0) { 
     setStackVisible(visibleStack, false); 
    } 

    visibleStack = index; 
    setStackVisible(visibleStack, true); } 

StackPanel.java類改變showStack(int index)的行爲是這樣的:

public void showStack(int index) { 

    if ((index >= getWidgetCount()) || index < 0) { 
     return; 
    } 

    visibleStack = index; 
    setStackVisible(visibleStack, !getWidget(visibleStack).isVisible()); 


    } 

我敢肯定,這是可能的把它清理一下,但是這個伎倆。 其他類需要複製到同一個包的原因是因爲StackPanel.java引用了一些只有包可見性的方法。

+1

在GWT 2.5中,不再需要複製其他類。 – 2013-02-03 12:36:03