2011-06-23 34 views
1

如何通知Composite是否已创建新的子控件?SWT:通知复合材料它有一个新的孩子

原因:默认情况下,对于StackLayout不显示任何孩子。我想确保在默认情况下显示添加到我们的StackLayoutComposite(这是Composite设置为StackLayout和其他几个辅助方法)的第一个控件。目前,我通过覆盖StackLayoutlayout方法解决了这个问题,但这看起来很丑陋。

回答

1

如果你想重新布局基础上,新的儿童和任何相关的布局数据父Composite,只是用composite.layout(true); ......

如果你想通过小部件层次结构一直是家长通知改变了,那么你的运气不好......你可以得到最接近的,是添加一个SWT过滤器到显示器,并等待一个SWT.Resize事件为一个以前未知的孩子......我已经完成这是一个项目,但我不得不承认代码变得有点丑陋,因为你必须监视处理以及...