我正在开发一个RCP应用程序,其中我的视图有两个组件,名为composite 1和composite 2,它们是父组合的一部分
我使用相同大小的gridLayout 2列并排放置复合材料.Below是这个的快照
确实如图所示,我希望根据对composite1中的链接执行的用户操作,动态地在组合2中加载/添加一些新组件(技术小部件)。
例如,link1应该应用布局(Borderlayout)&在composite2中添加标签 link2一些其他布局(rowLayout)和composite2中的文本
同样,每个链接都必须对composite2应用不同的样式, 我的解决方法包括以下内容, 对于每个链接的监听器,我已经添加了相应的代码来处理composite2的子代,如果它(composite2)不为null。
我正在寻找一个想法&在这种情况下编写友好代码的更好和更聪明的编程实践是什么。任何片段?
答案 0 :(得分:1)
在大多数情况下,这是糟糕的UI设计。
如果您想根据选择向用户提供操作,您应该通过菜单项或您启用/禁用选择的命令来执行此操作。或者,如果要根据用户选择显示更复杂的数据,则应使用第二个视图。
答案 1 :(得分:1)
您的scenrao是Eclipse Forms中Master-Details Sections的标准场景,有关详细信息,请参阅http://www.eclipse.org/articles/Article-Forms/article.html。
一般来说:你的方法不是ui-design,而是典型的主 - 细节视图。没有必要使用两个视图,您的方法很好,Eclipse表单提供的Master-Details-Implementation让您了解如何实现它。