0

私はにを入れようとしていTabSetますWindow。ウィンドウをコンテンツに合わせたいので、autoSize他の多くのウィンドウと同じようにオンにしました。ウィンドウには、私が望む最小の幅と高さがあります。私の問題は、TabSetinがWindow高さを完全に埋めていないことです。

これが私の設定です:

public MyWindow()
{

  setHeight(MIN_HEIGHT);
  setWidth(MIN_WIDTH);

  setAutoSize(true);

  theTabSet = new TabSet();
  theTabSet.setTabBarPosition(Side.TOP);
  theTabSet.setWidth100();
  theTabSet.setHeight100();

  // I need to set this for it to at least display the contents
  theTabSet.setPaneContainerOverflow(Overflow.VISIBL E);
  theTabSet.setOverflow(Overflow.VISIBLE);

  //This seems to solve my issue buy I think I shouldn't be doing this.
  theTabSet.setMinHeight(WINDOW_HEIGHT);

  Tab tab1 = new Tab("first");
  tab1.setPane(getFirstTab());

  Tab tab2 = new Tab("second");
  tab2.setTab(getSecondTab());

  addItem(theTabSet);

 }

  private Layout getFirstTab(){
   if(theFirstTab == null){
     theFirstTab = new VLayout();
     theFirstTab.setWidth100();
     theFirstTab().setHeight100();
   }
     return theFirstTab;
 }

何か足りないものがあれば教えてください。レイアウトAPIによると:

他のCanvasサブクラスと同様に、LayoutコンポーネントとStackコンポーネントには、%幅と高さの値があります。ページ全体(または親コンポーネント全体)を占める動的にサイズ変更するレイアウトを作成するには、幅と高さを「100%」に設定します

4

1 に答える 1

0
theTabSet.setMinHeight(WINDOW_HEIGHT);

行く方法のようです。ウィンドウはコンテンツに合わせて設定され、レイアウトはキャンバス全体に表示されるように設定されています。ウィンドウは最小の高さと幅を知っていますが、最初はレイアウトはそれを知りません。したがって、手動で設定する必要があります。

于 2013-02-26T21:25:07.847 に答える