GWT StackPanel的限制是什么?

5

是否有类似于StackPanel或DecoratedStackPanel的组件,可以同时显示多个面板?我想要有展开所有或折叠任意数量面板的选项。

1个回答

3

好的,既然我没有得到答案,这是对我有效的方法。Google并不容易扩展现有面板以添加或修改功能,所以我下载了源代码,将StackPanel.javaDecoratorPanel.javaDecoratedStackPanel.java复制到我的gwt项目的一个包中。

我真正需要做的主要更改是从StackPanel.java类中更改showStack(int index)的行为。

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

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

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

变成这样:

 public void showStack(int index) {

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

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


  }

我相信这个可以稍微整理一下,但是这样就可以了。其他类需要复制到同一个包中的原因是因为StackPanel.java引用了它们的一些仅具有包可见性的方法。


1
在GWT 2.5中,不再需要复制其他类。 - Jens Piegsa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接