GWT: Как правильно установить высоту панели StackLayoutPanel? - PullRequest
1 голос
/ 22 ноября 2011

Я использую GWT 2.4. Я хочу построить разделы контента, используя виджет StackLayoutPanel. Но у меня возникли проблемы с изменением размера виджета по вертикали, чтобы он занимал как можно больше места. Я открываю

    p.setHeight("100%");

на самом деле ничего не делает. Есть ли у кого-нибудь совет для расчета правильной высоты для StackLayoutPanel, чтобы он занимал как можно больше места, но не больше? Вот код, который я использую ...

    final StackLayoutPanel p = new StackLayoutPanel(Unit.EM);
    p.setHeight("100%");
    int i=0;
    for (final Node node : nodes) { 
        if (node != null) { 
            final Widget childWidget = getWidget(node.getChildren());
            if (childWidget != null) { 
                final String sectionTitle = node.getAttributes().get(NAME_ATTR) != null ? node.getAttributes().get(NAME_ATTR).getValue() : "Section " + (i+1);
                p.add(childWidget, sectionTitle, 2);
            }   // if
        }   // if
        i++;
    }   // for
    return p;

Вот код, который в конечном итоге вызывает StackLayoutPanel. Обратите внимание, что родительский виджет "ScrollPanel" устанавливает height = "100%", но это не влияет на то, что StacklayoutPanel заполняет все свое пространство.

            final ScrollPanel childpanel = new ScrollPanel();
            childpanel.setHeight("100%");
            // Below, a StackLayoutPanel is returned as the child widget
            final Widget childWidget = xmlToHtmlService.getWidget(tabNode.getChildren());
            childpanel.add(childWidget);

Спасибо, -

1 Ответ

0 голосов
/ 22 ноября 2011

Лучший способ определить размер LayoutPanel любого типа - это add указать другой LayoutPanel и установить его размер на родительской панели.Установка размера напрямую никогда не работает так, как я хочу.

Это довольно отличная настройка от других виджетов GWT, которые просто хотят быть добавлены и измерены.Вы можете прочитать об этом по адресу http://code.google.com/webtoolkit/doc/latest/DevGuideUiPanels.html#LayoutPanels.

. Нам многое предстоит узнать о LayoutPanel с.Однако, как только вы настроите их правильно, они очень естественны в использовании, и вы сможете сделать с ними много точного макета.

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