2013-07-16 1 views
1

У меня есть композит с FillLayoutСкрыть составной элемент управления в родителю с FillLayout

comp.setLayout(new FillLayout(SWT.VERTICAL)); 

Я создал 2 композитные материалы внутри этого.

Теперь я хочу скрыть первый и освободить занятое место.

child1.setVisible(false); 

Я знаю, что есть способ, чтобы исключить составной, если GridData и GridLayout используются, но я использую FillLayout.

Что можно сделать?

+0

Является ли «распоряжаться» виджем? – Baz

+0

нет, это не так :) – yuris

+0

Боюсь, я не знаю никакого решения, не используя 'GridLayout' и' GridData' или некоторые отличные 'moveAbove()' и 'layout()' action ... – Baz

ответ

0

Рукав должен был бы Control.setParent() и добавить его в оболочку, которая не видна. Помните, что Control.setParent() может не поддерживаться на всех платформах. ИМХО такой взлом, чтобы избежать использования GridLayout, не стоит того, и вы должны просто заменить FillLayout на GridLayout.

Смежные вопросы