2011-12-17 10 views
2

RootLayoutPanel.get()にある大きなSimpleLayoutPanelが1つあり、これが制約です。GWTで固定位置パネルを使用する方法は?

私はいくつかの余分なパネルを配置したいと思うし、それは位置を持ってほしい:ブラウザの画面内で固定。出来ますか?

このスタイルはsetStyleName()/ CSSでもDOM.setStyleAttribute()でも設定することはできません。どちらの場合も、私のスタイルは、私は両方のルートパネルを使用し、同時に

public void onModuleLoad() { 

    SimpleLayoutPanel simpleLayoutPanel = new SimpleLayoutPanel(); 
    simpleLayoutPanel.setStyleName("SimpleLayoutPanel"); 

    DOM.setStyleAttribute(simpleLayoutPanel.getElement(), "backgroundColor", "blue"); 

    RootLayoutPanel rootLayoutPanel = RootLayoutPanel.get(); 
    rootLayoutPanel.add(simpleLayoutPanel); 

    LayoutPanel layoutPanel = new LayoutPanel(); 
    layoutPanel.setStyleName("LayoutPanel"); 
    DOM.setStyleAttribute(layoutPanel.getElement(), "position", "fixed"); 
    DOM.setStyleAttribute(layoutPanel.getElement(), "bottom", "0px"); 
    DOM.setStyleAttribute(layoutPanel.getElement(), "height", "100px"); 
    DOM.setStyleAttribute(layoutPanel.getElement(), "width", "100px"); 
    DOM.setStyleAttribute(layoutPanel.getElement(), "backgroundColor", "red"); 

    RootPanel rootPanel = RootPanel.get(); 
    rootPanel.add(layoutPanel); 


} 

答えて

1

RootLayoutPanelとRootPanelの両方を同時に使用できます。

このように成功しました。サイズ変更イベントを受け取るために必要な要素は、RootLayoutPanelに入れられています。私が固定して配置する必要のある要素は、RootLayoutに入れられています。

私は1つのルートパネルの味にすべてを入れる方法が見つけられませんでした。

0

私が正しく理解している場合、あなたのことができるようにすべきであるGWTの

おかげ

私は

を成功コードでoverriningされます親パネルのadd(Widget/Panel、int x、int y)メソッドを使用して、ピクセルレベルでの正確な位置を指定します。ルートと呼ばれるルートパネルがあり、別のパネルsomePanelを100,100に追加する場合は、root.add(somePanel、100,100)がそのジョブを実行する必要があります。