2012-05-25 38 views
0

我有一個子窗口,它包含一個窗體,標籤,組合,按鈕排成一行,一行一行地排列。形式不是有限的。有一個按鈕用於添加額外的輸入字段行。它目前的作品種類 ...問題是當添加新行時,子窗口大小保持不變,但是我希望它自動調整大小。如何調整Shell子窗口的大小

子窗口是一個標準的SWT外殼

Shell ConstantEditWindow = new Shell(parent); 

我哈瓦一個按鈕某事像這樣:

addDesc.addSelectionListener(new SelectionAdapter() { 
     public void widgetSelected(SelectionEvent e) { 

      populateConstantMain(tariffConstantsOfType, descComp, descCompLayout, true); 

      ConstantEditWindow.layout(); 

     } 
    }); 

但ID不工作:/子窗口不會resize在(

+0

SWT'Shell'類是否提供'repack()'方法或類似的精神? – sarnold

+0

否;(只有.redraw(),但它不起作用:/ – mentis

回答

0

閱讀原因:http://www.eclipse.org/articles/article.php?file=Article-Understanding-Layouts/index.html

And the api:http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fswt%2Fwidgets%2Fpackage-summary.html

  • .layout()佈局的控制的子
  • 包()使得它的尺寸優選被調整大小的接收器。

另外約定它在java中的常量名應該是ALL_IN_CAPITAL。

+0

謝謝:)我設法通過封裝我的文本,組合等在ScrolledComposite :)解決了這個問題 – mentis