2011-12-14 49 views
0

私はGWT 2.4を使用しています。私はそれが重要な場合は、このコンテンツは、FlowPanelで含むパネルに水平方向および垂直方向にセンタリングされたいGWT:コンテンツをパネルの中央に配置するにはどうすればよいですか?

final Image ajaxImage = new Image("loading.gif"); 
    final Grid grid = new Grid(1, 2); 
    grid.setText(0, 0, "Loading..."); 
    grid.setWidget(0, 1, ajaxImage); 
    this.container = new FlowPanel(); 
    this.container.add(grid); 
    rootPanel = new SimplePanel(); 
    rootPanel.add(this.container); 

いくつかの単純なコンテンツを持つビューを...持っています。それ、どうやったら出来るの?

ありがとう、-Dave

答えて

1

css? margin:0 auto;およびposition:absolute; top:50%;

5

私はverticalpanelでそれを行う方法を知っています。

VerticalPanel panelPrincipal3 = new VerticalPanel();//Esto es el panel central, donde se centra todo 
    panelPrincipal3.setWidth("100%"); 
    panelPrincipal3.setHeight("100%"); 
    panelPrincipal3.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); 
    panelPrincipal3.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); 
    panelPrincipal3.add(/*your panel*/);//here yo add whatever yo want, and should be centered 
+0

CSSはこの問題を混乱させるようです。ありがとう!そこにCSSの並列はありますか? –

+1

.setHeight( "100%");もう動作しません。 try .setHeight(Window.getClientHeight()+ "px"); –

2

あなたRootPanelの直接の子としてあなたFlowPanelを入れていた場合、あなたはそのheight100%に設定しようとすることができます。そうあなただけのコンテナの子コンポーネントとしてグリッドを持っている場合、あなたはこのようにそのアライメントを設定することができます。

container.setCellHorizontalAlignment(grid, HasHorizontalAlignment.ALIGN_CENTER); 
container.setCellVerticalAlignment(grid, HasVerticalAlignment.ALIGN_MIDDLE); 

しかし、あなたがあなたの心を変更し、あなたがUiBinderに切り替えます場合は、あなたのような何かを行うことができますこれは:

<g:VerticalPanel spacing="0" width="100%" height="100%" ui:field="mainPanel"> 
    <g:Cell horizontalAlignment="ALIGN_CENTER" verticalAlignment="ALIGN_MIDDLE"> 
    <!-- content goes here --> 
    </g:Cell> 
</g:VerticalPanel> 
関連する問題