GWT StackPanel ограничение? - PullRequest
       0

GWT StackPanel ограничение?

5 голосов
/ 15 ноября 2010

Существует ли такой компонент, как StackPanel или DecoratedStackPanel, который позволяет отображать в стеке более одной панели одновременно? Я хотел бы иметь возможность развернуть все или свернуть любое количество панелей, которые я хочу.

1 Ответ

3 голосов
/ 17 ноября 2010

Хорошо, так как я не получил ответа, это то, что сработало для меня.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 ссылается на некоторые из их методов, которые имеют видимость только пакета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...