1

私はGXTを初めて使用し、左側にいくつかのタブがあり、右側にいくつかのタブがあるTabPanelを作成しようとしています(写真2のように)。写真1のような最も単純なTabPanelを問題なく作成できます。

ここに画像の説明を入力してください

GWTでは、この方法でいくつかのタブを右側に移動することができました。

tabLayoutPanel.getTabWidget(i).getParent().addStyleName("right");

およびCSS:

.right {
   float: right;
   margin-right: 6px;
}

しかし、GXTTabPanelにgetTabWidgetのようなオプションが見つかりません。

この事件を手伝ってくれませんか。前もって感謝します。

4

1 に答える 1

4

GXT 3 でタブ ハンドラーにアクセスするには、小さなハックを行う必要があります。

class StylableTabPanel extends TabPanel {
    public void applyTabStyles(Widget widget, String styles) {
        findItem(getWidgetIndex(widget)).applyStyles(styles);
    }
}

それで:

tabPanel = new StylableTabPanel();
HTML shortText = new HTML("Lorem ipsum...");
tabPanel.add(shortText, "Short Text");
HTML longText = new HTML("<b>lorem ipsum dolor sit amet...</b>");
tabPanel.add(longText, "Long Text");
tabPanel.applyTabStyles(longText, "margin-left: 300px;");

残念ながら、ここでは "float: right" を使用できないため、左マージンを手動で計算する必要があります。GXT 開発者は "width: 1000000px;" を割り当てることにしました。タブを保持する UL 要素に。したがって、このようなフローティング ルールは、コンテナーの右端を超えてプッシュするだけです (画面の幅が 1000000 ピクセルを超える場合を除きます;])。

これが役立つことを願っています。

于 2013-03-15T10:28:14.660 に答える