使用UIBinder的GWT - 如何以编程方式添加ScrollPanel?

时间:2014-06-17 13:43:53

标签: java gwt uibinder

我想以编程方式在

中创建scrollPanel
    <g:FlowPanel ui:field="viewDynamicContent"></g:FlowPanel>

scrollPanel生成代码如下:

    ScrollPanel scrollPanel = new ScrollPanel();
    FlowPanel flowPanel =  new FlowPanel();

    scrollPanel.addStyleName("standard-scroll-panel standard-content-bckgr");

    final HTML emptyInfo = new HTML();
    emptyInfo.setHTML(new SafeHtml() {
        @Override
        public String asString() {
            String html = "";
            html += "<div>";
            html += "<p>" + SEARCH_EVENTS_LIST_EMPTY + "</p>";
            html += "<p>";
            html += "<span class='font-color-cyan'>" + SEARCH_EVENTS_LIST_EMPTY_2 + "</span>";
            html += "</p>";
            html += "</div>";

            return html;
        }
    });
    emptyInfo.addStyleName("standard-warning-panel text-center");

    flowPanel.add(emptyInfo);
    scrollPanel.add(flowPanel);

    viewDynamicContent.add(scrollPanel);

问题是,我可以使用此代码获得正确的html结构,但遗憾的是我无法滚动。在任何方向上移动scrollPanel后,它总是回到默认位置。在HTML结构中添加ScrollPanel小部件之后一切正常,但在这个特定情况下我需要在java函数中完全创建这个元素。

1 个答案:

答案 0 :(得分:0)

您必须以某种方式设置ScrollPanel的大小,可以显式设置,也可以将ScrollPanel放在某个ProvideResize面板中。