Y a-t-il un composant comme StackPanel ou DecoratedStackPanel qui a la capacité d'afficher plus d'un panneau dans la pile à la fois? Je voudrais avoir l'option d'étendre tout ou de réduire n'importe quel nombre de panneaux que je veux.GWT StackPanel limitation?
Répondre
Ok, puisque je n'ai pas de réponse, c'est ce qui a fonctionné pour moi. Google ne permet pas vraiment d'étendre les panneaux existants pour ajouter ou modifier des fonctionnalités, donc j'ai téléchargé la source, copié StackPanel.java
, DecoratorPanel.java
et DecoratedStackPanel.java
dans un package dans mon projet gwt.
Le principal changement que je avais vraiment besoin de faire était de changer le comportement du showStack(int index)
dans la classe StackPanel.java
de
public void showStack(int index) {
if ((index >= getWidgetCount()) || (index < 0) || (index == visibleStack)) {
return;
}
if (visibleStack >= 0) {
setStackVisible(visibleStack, false);
}
visibleStack = index;
setStackVisible(visibleStack, true); }
à quelque chose comme ceci:
public void showStack(int index) {
if ((index >= getWidgetCount()) || index < 0) {
return;
}
visibleStack = index;
setStackVisible(visibleStack, !getWidget(visibleStack).isVisible());
}
Je suis sûr qu'il est possible pour nettoyer un peu, mais cela a fait l'affaire. La raison pour laquelle les autres classes doivent être copiées dans le même package est que StackPanel.java
fait référence à certaines de leurs méthodes qui ont uniquement la visibilité du package.
Dans GWT 2.5, il n'était plus nécessaire de copier les autres classes. –