1

FlexTable を作成しました。次のように、親 FlowPanel 内で水平方向に中央揃えにしたいと考えています。

FlexTable ft = new FlexTable();
ft.add(0, 0, new Label());
ft.add(0, 1, new Orange());
ft.add(0, 2, new Label());

FlowPanel parent = new FlowPanel();
parent.add(ft); // how can I horizontally center the table in this div?

テーブルのコンテンツは、親の FlowPanel (幅:auto、ブラウザーの幅全体) よりも狭いですが、テーブルは現在左揃えになっています。

ありがとう

4

2 に答える 2

2

2 つのオプション:

parent.getElement().getStyle().setTextAlign(TextAlign.CENTER);

また

ft.getElement().getStyle().setProperty("margin", "0 auto");

もちろん、代わりに CSS スタイルを使用することもできます。

于 2013-01-20T04:42:36.597 に答える
1

初めに?どのバージョンの GWT を使用していますか? この質問をしている理由は、最新バージョンで使用した add (int, int, Widget ) に似たメソッドが FlexTable にないためです。

ただし、次のコードを使用できます。

    FlexTable ft = new FlexTable();
    ft.setWidget(0, 0, new Label("a"));
    ft.setWidget(0, 1, new Label("b"));
    ft.setWidget(0, 2, new Label("c"));

    FlowPanel parent = new FlowPanel();
    parent.setSize("100%", "100%");
    parent.add(ft);
    parent.getElement().getStyle().setProperty("TextAlign", "center");
    // If you are using Firefox : 
    //parent.getElement().getStyle().setProperty("TextAlign", "-moz-center");
    RootLayoutPanel.get().add(parent);

Java コードでスタイルについて言及したくない場合は、いつでも次のような CSS を使用できます。

parent.addStyleName("myStyle");

CSSで

.myStyle{
text-align : center;
}
于 2013-01-20T05:49:09.037 に答える