是否有像StackPanel或DecoratedStackPanel这样的组件能够一次在堆栈中显示多个面板?我想选择扩展所有或折叠我想要的任何数量的面板。
答案 0 :(得分:3)
好的,既然我没有回答,这对我有用。 Google并没有真正轻松扩展现有面板以添加或修改功能,因此我所做的是下载了源代码,将StackPanel.java
,DecoratorPanel.java
和DecoratedStackPanel.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
引用了一些只有包可见性的方法。