Как иметь фиксированную позицию панели в GWT? - PullRequest
2 голосов
/ 17 декабря 2011

У меня есть одна большая 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 ]

1 голос
/ 19 декабря 2011

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

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

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

0 голосов
/ 17 декабря 2011

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

...