如何在GWT中使用固定位置面板?

时间:2011-12-17 09:17:42

标签: java gwt position panel fixed

我有一个很大的SimpleLayoutPanel,位于RootLayoutPanel.get()中,这是一个约束。

现在我想放置一些额外的面板,并希望它有位置:在浏览器屏幕内固定。有可能吗?

我既不能使用setStyleName()/ CSS,也不能使用DOM.setStyleAttribute()来设置此样式。在这两种情况下,我的风格都被GWT的

所压倒

由于

我成功的代码

我同时使用了两个根面板

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);


}

2 个答案:

答案 0 :(得分:1)

RootLayoutPanel和RootPanel都可以同时使用。

我成功了。我需要接收调整大小事件的元素已经放入RootLayoutPanel。我需要将已定位的元素放入RootLayout中。

我发现无法将所有内容都放在一个根面板中。

答案 1 :(得分:0)

如果我理解正确,您应该能够使用父面板的添加(Widget / Panel,int x,int y)方法来指定像素级别的确切位置。因此,如果您的Root面板名为root,并且想要在100,100处添加另一个面板somePanel,则root.add(somePanel,100,100)应该完成这项工作。