SWT和AWT,有什么区别?

2022-09-02 01:07:25

我知道这个问题相当普遍,有点像圣战。你能不能向我解释为什么SWT是成功的,而AWT不是,而这两个框架使用相同的原生UI控件的想法。与AWT相比,SWT的不同之处是什么?如果可能的话,只需几句话。

谢谢。


答案 1

AWT 是原始的跨平台、基于本机对等的 GUI 小部件集。它引起了很多抱怨,因为跨平台没有完全一致。Sun构建了Swing小部件集来回答这些问题,用纯Java(没有原生对等体)构建它,但人们抱怨它缓慢而丑陋。

IBM将SWT构建为Swing的基于本机对等的竞争对手。它之所以成功,是因为它看起来不错,表现良好,并且在各个平台上都非常一致。它通过被许多流行的应用程序使用来巩固自己的地位,Eclipse和Vuze是最明显的。


答案 2

SWT提供了比AWT更丰富的原生重量级小部件集 - 一个适当的比较是SWT与AWT / Swing。因此,SWT看起来比AWT / Swing更原生。虽然这可以被认为是成功的,但它也可能是一个缺点,这取决于您需要实现的内容。在SWT的情况下,您仅使用具有所有可能的操作系统限制的重量级本机小部件。使用AWT / Swing,您可以选择将轻量级Swing(纯Java)小部件与本机AWT小部件混合在一起以获得更好的性能。


推荐