2

TabLayoutPanel がコンテナ ウィジェットを表示しない単純な例 タブ項目のみが表示されます。何かがうまくいかないのは、IE8で動作することです

public class DemoGWT implements EntryPoint {
    RootPanel rp = RootPanel.get();

    public void onModuleLoad() {
        TabLayoutPanel panel = new TabLayoutPanel(25, Unit.PX);
        Label a = new Label("One Container");
        panel.add(a, "One Hdr");
        panel.add(new Label("Two Container"), "Two Hdr");
        panel.add(new Label("Three Container"), "Three Hdr");
        panel.add(new Label("Four Container"), "Four Hdr");
        panel.add(new Label("Five Container"), "Five Hdr");
        panel.add(new Label("Six Container"), "Six Hdr");

        rp.add(panel);
    }
}
4

2 に答える 2

3

レイアウトパネルパネルを混同しないでください。TabLayoutPanelなどのレイアウトパネルを使用する場合は、その親とRootPanelまでの親がレイアウトパネルであることを確認してください。RootPanelの代わりにRootLayoutPanelを使用します。TabLayoutPanelは、絶対的な高さを指定しない限り、データを表示しません。(100%または他の%は機能しないことに注意してください)。それは絶対的でなければなりません。

をに変更し、のRootPanelAPIをRootLayoutPanel使用します。身長は%ageで言及しないでください。setHeight(height)TabLayoutPanel

于 2012-12-06T08:03:24.667 に答える
1

タブ クライアント領域が表示されない ie8 に問題がありました。

ui XML テンプレート パネルを作成しました。私たちの設定は、TabLayoutPanel を別の TabLayoutPanel のタブ内に表示することでした。最初の TabLayoutPanel は完全に表示され、子の TabLayoutPanel は非表示でしたが、「非表示」ではありませんでした。

ところで、この問題は Firefox では発生しませんでした!!!!!

すべてのパネルを ResizeComposite の子にし、最終的にはルート レイアウト パネルの子にしても違いはありません。ただし、レイアウト パネルをコーディングする GWT の正しい方法であると思われるため、その mod を保持しました。

結局のところ、問題の解決策は非常に驚くべきものであり、予想外のものでした。

複合パネルのサイズを EM 単位で指定しました。子 TabLayoutPanel を PX ユニットに切り替え、タブの子パネルを PX ユニットに切り替えると、すべて正常に表示されました。

于 2013-09-30T16:12:47.683 に答える