定制布局

有时,可能需要编写您自己的定制布局类。当您具有用于应用程序中的许多不同位置的复杂布局时,这样作最合适。当您可以使用特定于应用程序的知识来优化布局时也是合适的。在构建定制布局之前,应当考虑下列事项:

除非您正在编写将供一些组合体小窗口使用的很普通的布局, 否则,计算大小和定位调整大小侦听器中的子代通常更简单且更容易。许多 SWT 定制小窗口都是以此方式编写的。尽管新的小窗口可以作为组合体布局对来实现,但是,作为组合体来实现它将更为明了,该组合体在调整大小侦听器中实现它的布局,而在 computeSize(...) 中计算它的首选大小,并且不需要编写额外的类。

如果您仍然认为需要定制布局类,则最好是首先在调整大小侦听器中实现布局算法。这使得算法本身的调试更简单。一定要测试布局的各种情况:将大小调整得更小、将大小调整得更大、覆盖和剪辑。一旦算法生效,就可以将代码重构成布局的子类。

布局负责实现两种方法:

可以在了解 SWT 中的布局中找到关于定制布局的进一步讨论。

Copyright IBM Corporation and others 2000, 2003.