是否有像 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
引用了它们的一些方法,这些方法只具有包可见性。
关于java - GWT StackPanel 限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4188530/