2014-06-17 24 views
1

我想裏面GWT與UIBinder - 如何以編程方式添加ScrollPanel?

<g:FlowPanel ui:field="viewDynamicContent"></g:FlowPanel> 

代碼scrollPanel發電以編程方式創建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函數內完全創建此元素。

+0

你是什麼意思?「在任何方向移動scrollPanel後,它總是回到默認位置。」?只有在代碼將某些內容滾動到視圖中,或者CSS中存在某些內容時纔會發生。 –

回答

0

您必須以某種方式設置ScrollPanel的大小,可以明確設置或者將ScrollPanel放置在某個提供Resize的面板內。

+0

是的,謝謝你的回覆。剛剛瀏覽了整個GWT佈局文檔,嘗試了一些例子,現在我知道了:)或者,您可以將ScrollPanel放在某個具有固定高度的框中,並將ScrollPanel高度設置爲100%。 – user3748725