2011-12-17 2 views
2

У меня есть одна большая SimpleLayoutPanel, которая находится в RootLayoutPanel.get(), и это ограничение.Как установить фиксированную панель позиции в GWT?

Теперь я хочу разместить дополнительную панель и хочу, чтобы у нее было положение: исправлено в окне браузера. Является ли это возможным?

Я могу установить этот стиль ни с помощью setStyleName()/CSS, ни с DOM.setStyleAttribute(). В обоих случаях мой стиль overrining на 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); 


} 

ответ

1

И RootLayoutPanel и RootPanel могут использоваться одновременно.

Мне это удалось. Элементы, которые мне нужны для получения изменений размера, были помещены в RootLayoutPanel. И элементы, которые мне нужно установить с фиксированными, были помещены в RootLayout.

Я не нашел возможности вложить все в один колоколообразный аромат.

0

Если я правильно понял, вы должны быть в состоянии используйте метод add (Widget/Panel, int x, int y) родительской панели, чтобы указать точное местоположение на уровне пикселей. Поэтому, если у вас есть панель Root под названием root, и вы хотите добавить другую панель somePanel на 100, 100, root.add (somePanel, 100, 100) должен выполнить эту работу.