GWT StackPanel限制?

时间:2010-11-15 20:31:29

标签: java gwt

是否有像StackPanel或DecoratedStackPanel这样的组件能够一次在堆栈中显示多个面板?我想选择扩展所有或折叠我想要的任何数量的面板。

1 个答案:

答案 0 :(得分:3)

好的,既然我没有回答,这对我有用。 Google并没有真正轻松扩展现有面板以添加或修改功能,因此我所做的是下载了源代码,将StackPanel.javaDecoratorPanel.javaDecoratedStackPanel.java复制到了一个包中我的gwt项目。

我真正需要做的主要改变是改变showStack(int index)班级中StackPanel.java的行为

  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引用了一些只有包可见性的方法。