Как заставить Borderlayout заполнить свой контейнер?

Я программист GWT, пытаюсь освоить использование PlayN с библиотекой GUI Tripleplays.

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

BorderLayout border = new BorderLayout(3);
Group mainLayout = new Group(border);

    mainLayout.setConstraint(AxisLayout.stretched());


   Button Center= new Button("test");
  Center.setConstraint(BorderLayout.CENTER);

  mainLayout.add(Top);
  mainLayout.add(Bottom);
  mainLayout.add(Left);
      mainLayout.add(Center);

Top Bottom и Left аналогично указываются для BorderLayout.Left, top и т. Д.

все это затем добавляется в корневой экран с

  _root.setConstraint(AxisLayout.stretched());
  _root.add(0, mainLayout);

(У самого _root просто есть AxisLayout.vertical() ... который, я предполагаю, заставляет его работать как вертикальная панель gwt)

На данный момент вертикальное пространство кажется заполненным, но не горизонтальное.

Любые идеи, где я иду не так?

1 ответ

Решение

Я бы предложил установить

border.setConstraint(AxisLayout.stretched());

перед добавлением границы в mainLayout. Это скажет mainLayout растянуть этот дочерний виджет.

Другие вопросы по тегам