是否有类似于StackPanel或DecoratedStackPanel的组件,可以同时显示多个面板?我想要有展开所有或折叠任意数量面板的选项。
好的,既然我没有得到答案,这是对我有效的方法。Google并不容易扩展现有面板以添加或修改功能,所以我下载了源代码,将StackPanel.java
、DecoratorPanel.java
和DecoratedStackPanel.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
引用了它们的一些仅具有包可见性的方法。