Изменение размера и проблемы прокрутки с DockLayoutPanels в GWT - PullRequest
3 голосов
/ 28 июня 2011

Я создаю веб-приложение, используя GWT.Моя базовая панель - это RootLayoutPanel, и я добавил на нее DockLayoutPanel, к которой я прикрепил свои компоненты (чат, таблицы и т. Д.).

Моя проблема связана с изменением размера окна браузера.Я хочу, чтобы размер моей страницы изменялся только до определенного минимального размера, а затем я хочу, чтобы полосы прокрутки стали активными.

Я пытался использовать свойства css переполнения и минимальной ширины, но, похоже, это не работает: если я установлю свою минимальную ширину DockLayoutPanel: 800px (например), панель будет полностью видна только до тех пор, пока в окне моего браузера не появится 800pxширины, и это правильно, но если я снова уменьшу размер окна, полосы прокрутки не станут активными, и более внешние части панели не смогут быть просмотрены в любом случае.

Надеюсь, я объяснил все достаточно ясно.Спасибо за ваши советы.

Ответы [ 2 ]

3 голосов
/ 26 июля 2011

не уверен, что это все еще помогает, но я столкнулся с подобной проблемой и нашел такое решение - как упомянуто в документации GWT на http://code.google.com/webtoolkit/doc/latest/DevGuideUiPanels.html#Resize Я добавил к своей корневой html-странице тег вроде:

<body>
..
<div id="main" ></div>
..
</body>

затем в методе onModuleLoad вместо добавления панели, например:

interface Binder extends UiBinder<Widget, BasicApp> { }
private static final Binder binder = GWT.create(Binder.class);

public void onModuleLoad() {
  DockLayoutPanel outer = binder.createAndBindUi();
  RootLayoutPanel.get().add(outer);
}

Я делаю это так:

public void onModuleLoad() {
    DockLayoutPanel outer = binder.createAndBindUi();
    LayoutPanel panel = new LayoutPanel();
    panel.add(outer);
    RootPanel.get("main").add(panel);
    panel.setSize("800px", "800px");
}

Обратите внимание, что вы должны явно указать размерпанель для правильного отображения на веб-странице.Теперь у вас должны быть прокрутки, как на любой другой веб-странице, когда размер панели превышает размер окна.

0 голосов
/ 28 июня 2011

Попробуйте

RootLayoutPanel().get().add(new ScrollPanel(dockLayoutPanel));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...