2012-01-11 11 views
2

私はGWT 2.4を使用しています。私はTabLayoutPanelのペインにウィジェットを水平にレイアウトするのに問題があります。どのように私はパネルを水平にレイアウトし、次に目に見える部屋がないときにウィジェットを次の行に折り返すようにしますか?大まかに、私は私が間違っているつもりですので...GWT:ウィジェットを水平にレイアウトするにはどうすればいいですか?

tabsPanel = new TabLayoutPanel(BAR_HEIGHT_IN_EM, Style.Unit.EM); 
for (final Node tabNode : documentNode.getChildren()) { 
    final ScrollPanel scrollPanel = new ScrollPanel(); 
    ... 
    Widget childWidget = createPanelFromWidgets(childWidgets); 
    ... 
    scrollPanel.add(childWidget); 
    tabsPanel.add(scrollPanel, tabName); 
} 


public static Widget createPanelFromWidgets(final List<Widget> childWidgets) { 
    final FlowPanel horizPanel = new FlowPanel(); 
    for (final Widget childWidget : childWidgets) { 
     horizPanel.add(childWidget); 
    } // for 
    return horizPanel; 
} // createPanelFromWidgets 

任意のアイデアのようにTabLayoutPanelを作成しますか?ドキュメント()は物事が自動的に水平に配置されると思っていましたが、私はすべてが垂直にレイアウトされているのを見ています。

  • デイブ

PS - 私はより多くの目に見える領域が存在しない場合にラップする私の要素をしたいので、Horizo​​ntalPanelはオプションではありません。

答えて

5

FlowPanelにオブジェクトを配置すると、必ずしも水平レイアウトではなく、デフォルトのHTMLレイアウト動作が得られます。火かき棒などを使ってウィジェットのスタイリングをチェックすると、おそらく "display:block;" (ほとんど)。ブロック表示では、それらは垂直に表示されます。

各childWidgetのCSS表示属性を "inline-block"または "inline"に変更した場合は、水平方向に並べて折り返す必要があります。

+2

"inline"は機能しませんでしたが、 "display:inline-block"を設定しました。 – Dave

関連する問題