2013-03-04 37 views
2

編輯GWT ScrollPanel中的TabPanel:無垂直滾動條

我已經通過調整VerticalPanel中的組件,這似乎對由控制檯種種原因錯過了面板的尺寸效應固定的空白行爲。我不太明白如何。

但是,我仍然堅持我的面板沒有顯示垂直滾動條。

在GWT項目,我有以下結構:

DockLayoutPanel 
    North (header) 
    Center (body) 
    South (footer) 
/DockLayoutPanel 

身體

SplitLayoutPanel$1 
    West 
     SplitLayoutPanel$2 
      North 
      Center 
       TabPanel 
        ScrollPanel 
         VerticalPanel 
          -Several widgets- 
         /VerticalPanel 
        /ScrollPanel 
       /TabPanel 
      /Center 
     /SplitLayoutPanel$2 
    /West 
    Center 
/SplitLayoutPanel$1 

我的問題是如何在該TabPanelScrollPanel,這本身包含一個VerticalPanel包含幾個小部件。對於TabPanel中的每個Tab都是如此。

我的問題是,雖然寬度的爲SplitLayoutPanel$2的中心的所有容器具有100%的寬度,在ScrollPanel包含了相當大的白色區域水平滾動條旁邊的VerticalPanel,而他們在絕對指標同樣大小。

龍虎鬥情況

overview of the TabPanel http://i48.tinypic.com/1fu448.png

這是TabPanel,與ScrollPanelVerticalPanel。請注意水平滾動條的存在方式,而TabPanel,ScrollPanelVerticalPanel的寬度相同。向右滾動會產生白色區域。

Scroll- and Vertical panel details

ScrollPanelVerticalPanel所有運動的598px的絕對寬度。 DockLayoutPanel的西部組件大小爲600,因此可以匹配。另請注意,如何調出開發者控制檯使滾動條消失。事實上,整個面板已經消失,沒有垂直滾動條彈出。

Scrolled

當滾動條向右,則VerticalPanel被部分地置於關閉屏幕,並且顯示ScrollPanel本空格。很明顯,我不希望空白在那裏,所以根本不需要滾動條。在這種情況下,所有面板仍然具有相同的寬度:598px。調整SplitLayoutPanel的大小,使用右邊的邊框可以增加這些值(顯然),但面板的寬度仍然相同,空白的大小保持不變,但我預計它也會變得更寬。

第二個選項卡包含一段文字,該文字從屏幕上繼續,但不出現滾動條。

問題結論

  • 沒有垂直滾動條
  • 甲水平滾動條與一些神奇召喚空白
  • Compontents權利要求具有相等的寬度

任何幫助不勝感激。

EDIT

是否嘗試調整大小VerticalPanel至90或80%的寬度。空白似乎不受影響,它表明100%確實覆蓋了可見寬度,而不是更多。

+1

您是否嘗試過'TabLayoutPanel',而不是'TabPanel'? – 2013-03-04 12:23:50

+0

我剛試過,很驚訝地發現一個漂亮的垂直滾動條。它似乎是與TabPanel的東西。我也注意到(很久以前編寫代碼),它實際上是一個GXT選項卡面板,因爲我沒有提及... – 2013-03-04 13:45:33

回答

6

TabPanel(至少來自GWT本身)從內向外調整大小:其大小取決於所選標籤的大小。所以,你的ScrollPanel將永遠不會有一個垂直滾動條,除非你明確地給它的大小,你的內容實際上溢出SplitLayoutPanel你把TabPanel英寸

佈局面板,如TabLayoutPanel,另一方面從外部手動調整大小:SplitLayoutPanel將在其中心區域設置TabLayoutPanel的大小,而TabLayoutPanel將依次設置ScrollPanel的大小,因此如果ScrollPanel的內容溢出,將出現垂直滾動條。

+0

感謝您的有用解釋。將再次嘗試這種知識,並回來。 – 2013-03-05 19:01:53

+0

顯然,sencha的小部件需要在sencha窗口中才能正確處理(重新)大小。因此,我已經重寫了幾乎完整的用戶界面,但是使用GWT的'TabLayoutPanel',因爲GXT'TabPanel'不支持靈活的大小調整。感謝您提供您的解釋! (這是我發現的有關GXT小部件和麪板的地方:http://www.sencha.com/forum/showthread.php?243630-ToolBar-not-resizing-properly) – 2013-03-05 21:51:08

2

第一點:不要混合和匹配佈局面板和非佈局面板。

第二點:如果您想要適當調整大小和滾動條,請始終嘗試提及百分比中的寬度和高度。

我看到您提到的寬度爲100%。但是height呢?

我的建議對你來說,

變化TabPanelTabLayoutPanel

設置所有的面板高度在整個層次結構爲100%