2010-11-30 35 views
0

我有一個SplitLayoutPanel。在北方的單元格中,我有一個ScrollPanel ,上面有一棵樹。 我希望這個ScrollPanel的高度與北單元的高度相同,所以 當樹展開時,出現滾動。調整北方單元格的大小時,必須更改此滾動面板的大小。 我已經與RequireResizes但家長試過不發送大小 信息......一個理想的方法應該是ProvidesSize控件調用onResize方法可用大小爲RequiresSize控件孩子孩子身高在SplitLayoutPanel

我很困惑。如何配置SplitLayoutPanel讓單元格 調整大小?

謝謝

回答

0

創建一個擴展Composite並實現RequiresResize的類;像這樣:

public class MyScrollPanel extends Composite implements RequiresResize { 
private ScrollPanel scrollPanel; 

public MyScrollPanel() { 
    scrollPanel = new ScrollPanel(); 
    initWidget(scrollPanel); 
} 

public void onResize() { 
    // do something to your scrollpanel 
} 

} 

然後將MyScrollPanel添加到SplitLayoutPanel的北方單元格中。

編輯
然而,事實證明,ScrollPanel默認已經具有所需的行爲。添加到SplitLayoutPanel單元格中的ScrollPanel會自動填充單元格的大小,即使在調整大小時也是如此。任何大於可用空間的ScrollPanel子窗口小部件都將導致出現滾動條。

但要確保你正在做 RootLayoutPanel.get().add(splitLayoutPanel);

+0

`Composite` +`RequiresResize` =`ResizeComposite`添加SplitLayoutPanel到RootLayoutPanel。 「MyScrollPanel」和「SplitLayouPanel」之間的所有面板必須是佈局面板,否則調整大小不會在「MyScrollPanel」面板中調用。 – 2010-11-30 20:06:43

相關問題