2012-01-27 4 views
0

Я работаю на RCP приложения, в котором моя точка зрения имеет два компонента имени композитный 1 и 2 композитных, которые являются частью родительского композитаДинамическая загрузка компонентов в SWT

конечно

Я поместил композиты бок о бок с помощью GridLayout 2 колонки равной size.Below является снимок этой enter image description here

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

Как, например, link1 следует применять макет (BorderLayout) & добавить метку в composite2 link2 какой-либо другой макет (rowLayout) и текст в composite2

Аналогично каждое звено там должно применять различные стили к composite2, Мое обходное решение включает в себя следующее: для каждого прослушивателя ссылок там, я добавил соответствующий код, который распределяет дочерние элементы из композитного2, если он (составной) не равен нулю.

Я ищу идеи & что лучше и умнее программировать, чтобы писать дружественный код в таком сценарии. Любые фрагменты?

ответ

1

В большинстве случаев это плохой дизайн пользовательского интерфейса.

Если вы хотите предоставить действия пользователю в зависимости от выбора, вы должны сделать это с помощью пунктов меню или команд, которые вы включаете/запрещаете в отношении выбора. Или, если вы хотите отображать более сложные данные в соответствии с выбором пользователя, вы должны использовать второе представление.

1

Ваш сценарий является стандартным сценарием для разделов основных деталей в формах Eclipse, подробнее см. http://www.eclipse.org/articles/Article-Forms/article.html.

В целом: ваш подход не плохой дизайн ui, но типичный вид мастера-детали. Нет необходимости использовать два представления, ваш подход прекрасен, а Master-Details-Implementation, предоставляемые формами Eclipse, дает вам представление о том, как его реализовать.

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