【问题标题】:GWT with UIBinder - how to programatically add ScrollPanel?带有 UIBinder 的 GWT - 如何以编程方式添加 ScrollPanel?
【发布时间】:2014-06-17 13:43:52
【问题描述】:

我想以编程方式在里面创建滚动面板

    <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 函数中完全创建此元素。

【问题讨论】:

  • “在任何方向移动滚动面板后,它总是回到默认位置。”是什么意思?仅当有代码将某些内容滚动回视图或您的 CSS 中有某些内容时,才会发生这种情况。

标签: java gwt uibinder


【解决方案1】:

您必须以某种方式设置 ScrollPanel 的大小,要么显式设置,要么将 ScrollPanel 放在某个提供调整大小的面板中。

【讨论】:

  • 是的,感谢您的回复。刚刚浏览了整个 GWT 布局文档,尝试了一些示例,现在我知道了:) 或者,您可以将 ScrollPanel 放在某个具有固定高度的框内,并将 ScrollPanel 高度设置为 100%。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-31
相关资源
最近更新 更多