2014-11-05 78 views
0

我正在GWT中開發Web界面,當我部署它時,滾動不起作用。我的佈局是一個包含VerticalPanel的RootLayoutPanel。這個VerticalPanel同時包含一個TabLayoutPanel和一個Horizo​​ntalPanel。在GWT中滾動

RootLayoutPanel rootLayout = RootLayoutPanel.get(); 
rootLayout.setStyleName("RootLayoutPanel"); 
rootLayout.add(mainVerticalPanel); 
RootPanel.get("main").add(rootLayout); 

而且,相對於CSS文件,它如下:

.RootPanel { 
    background: url(img/fondoAplicacion.png); 
    background-repeat: repeat; 
    margin: 0px; 
    overflow: scroll; 
} 

.RootLayoutPanel { 
    margin-top: 130px; 
    margin-left: 50px; 
    overflow: scroll; 
} 

有人能幫助我在使滾動?

+0

爲什麼不使用Scrollpannel(http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/client/ui/ScrollPanel.html) – Stefan 2014-11-05 14:36:11

+0

使用ScrollPanel將解決您的問題 – JAVAC 2014-11-05 15:14:35

回答

2

GWT中有兩種類型的面板。

大部分小部件(FlowPanel,HTMLPanel)從內部組件中獲取它們的高度:添加到它們的小部件越多,這些小組所獲得的小部件越多。

其他類型的面板實現了RequiresResize接口。這些面板從他們的父母身上取得他們的大小此組包括LayoutPanel,VerticalPanel,ScrollPanel等。

在您的示例中,將VerticalPanel添加到RootLayoutPanel時,無論VerticalPanel內部是什麼,此VerticalPanel的高度都與RootLayoutPanel的高度完全相同。因此,它永遠不會「溢出」Ro​​otLayoutPanel。

您需要決定您希望哪個面板能夠「溢出」並作爲結果滾動。您的案例中最合乎邏輯的方法似乎是在TabLayoutPanel的選項卡內添加ScrollPanel。每個ScrollPanel將包含一個FlowPanel或HTMLPanel - 這是您添加所有內容的地方。隨着這些面板的內容增長,它將溢出相應的ScrollPanel,並出現滾動條。用戶將能夠在選項卡內滾動,而頁面的其餘部分將保持原樣。