0

すべて、メインのScrollPanel内にあるタブメニューペインが必要です。ユーザーがメインページからメニューオプションをクリックするたびに、中央のScrollPanelは、以前にあったすべてのwidgitを削除し、新しいものを追加します。

これまでのところ、TabLayoutPanelを導入するまでは正常に機能していました。ご想像のとおり、TabLayoutはタブのみを表示し、サイズのないコンテンツは表示しません。はい、幅と高さを100%にします。

これはインターウェブ全体で見ましたが、解決策は、TabLayoutPanelがabsoluteに設定されているため、RoolLayoutPanelにアタッチすることですが、この内部クライアント領域/ ScrollPanelではなくルートレイアウトにアタッチしたくないため、機能しません。

私が欲しいのはタブ付きシステムだけなので、TabLayoutPanelが最良の選択ではない場合、誰かが別のものをお勧めしますか?ブラウザの互換性を高めるために、これに対して構築する必要があると想定しているため、標準モードになっています。

これが私のページ構造です:

RootLayoutPanel rootPanel = RootLayoutPanel.get();
rootPanel.setSize("940px", "940px");

mainpanel = new FlowPanel();
mainpanel.setSize("100%", "100%");
rootPanel.add(mainpanel);

header = new FlowPanel();
mainpanel.add(header);

ScrollPanel mainbody = new ScrollPanel();
mainpanel.add(mainbody);

footer = new FlowPanel();
mainpanel.add(footer);

そして、私が呼び出す本体の内容を変更したいときはいつでも:

mainbody.clear()
mainbody.add(..)

助けていただければ幸いです、ありがとう

4

2 に答える 2

0

私の解決策:

  1. RootLayoutPanelの代わりに使用RootPanel

    public void onModuleLoad() {
        binwebtabs bwt = new binwebtabs();
        //RootPanel.get("mainpage").add(bwt);
    
        RootLayoutPanel rp = RootLayoutPanel.get();
        rp.add(bwt);
    }
    
  2. g:LayoutPaneluibinder XML のルートで使用すると、任意のウィジェット (例: ラベル) を追加でき、g:TabLayoutPanel下に別のウィジェットを追加できます。g:layer

    <g:LayoutPanel>
    <g:layer>
      <g:Label>Bin Web </g:Label>
    </g:layer>
    <g:layer>
    <g:TabLayoutPanel ui:field="tabLayoutPanel" barUnit="PX" barHeight="60">
    ... 
    </g:TabLayoutPanel>
    

このようにして、g:TabLayoutPanelコンテンツが表示g:TabLayoutPanelされ、ルートにある必要はありません。

于 2012-09-25T16:30:58.357 に答える
0

私はあなたが何をしようとしているのか分かりません。しかし、DeckLayoutPanel を使用するのはどうですか? DeckLayoutPanel は、複数のウィジェットを含む「デッキ」を保持し、一度に 1 つのウィジェットを表示します。遷移中にスライド アニメーションを使用することもできます。

http://google-web-toolkit.googlecode.com/svn/javadoc/2.3/com/google/gwt/user/client/ui/DeckLayoutPanel.html

于 2011-05-25T09:52:51.977 に答える