SWT:通知复合材料它有一个新的孩子

时间:2011-06-23 10:51:46

标签: java swt

如果已创建新的子控件,如何通知Composite

原因:默认情况下,StackLayout显示没有孩子。我想确保默认显示添加到StackLayoutComposite(具有集Composite的{​​{1}}和其他一些辅助方法)的第一个控件。目前,我通过覆盖StackLayout的{​​{1}}方法解决了这个问题,但这看起来很丑陋。

1 个答案:

答案 0 :(得分:1)

如果您想根据新子项和任何关联的布局数据重新布置父Composite,请使用composite.layout(true); ...

如果您希望父级通知窗口小部件层次结构已更改,那么您运气不好...您可以获得的最接近的是向显示添加SWT过滤器并等待{ {1}}事件对于一个以前不为人知的孩子......我这样做是一个项目,但我不得不承认代码有点难看,因为你必须监控处理......