几乎所有的 GUI工具包都要面临这个问题。这里的LCD可不是液晶显示器。LCD是“最小公分母”(Lowest Common Denominator)的缩写。说的有些含糊,我也懒得去查为什么会叫这个名字,但是知道LCD表示什么问题就行了。
这个问题就是:GUI工具包仅支持存在于所在平台上的窗口构件。例如AWT对Windows是没问题的,AWT在Windows上可以支持tree(树型控件、列表控件等),但是因为 Motif 没有提供本机树型窗口构件,AWT 就没有包含树型窗口构件。
Swing则走向了另一个极端。虽然带有一个很出色的 API 进行优雅地设计,Swing 还是自己实现窗口构件。因此 Swing 不依赖于操作系统提供窗口构件。无论本机是否支持,这都为 Swing 提供了不可思议的灵活性。但是,因为 Swing 自己绘制这些窗口构件,所以最终的外观看起来与本机应用程序有明显的不同。并且,由于要自己绘制这些构件,Swing的效率也较低。
SWT 试图弥合这两个 GUI 工具箱之间的差距。它的方向是:“如果在所在的OS上有本机窗口构件就使用它。如果没有,就模拟它。”前面提到的树型窗口构件就是这样一个示例。因为 Windows 支持本机树型窗口构件,所以在 Windows 上运行时,SWT 就使用它。但是,Motif 不支持树型窗口构件,因此 SWT 在 Motif 下运行时绘制其自己的窗口构件版本。使用 SWT,结果应用程序看起来与其本机的同类应用程序很相似,因为尽可能地使用了本机窗口构件。
分享到:
相关推荐
在Java GUI开发中,SWT(Standard Widget Toolkit)、Swing和AWT(Abstract Window Toolkit)是三种常见的工具包。它们各自拥有不同的特性和优缺点,适用于不同场景。 **AWT(Abstract Window Toolkit)** AWT是...
在Eclipse中使用SWT进行界面设计涉及到一系列关键概念和技术,包括SWT的起源与优势、SWT应用程序的组成以及开发环境的配置。 1. 为什么要使用SWT? SWT,全称Standard Widget Toolkit,是由IBM开发的一个跨平台的...
在Eclipse中使用SWT设计界面,涉及到对SWT(Standard Widget Toolkit)的理解与掌握,以及如何在Eclipse环境中配置和使用SWT进行GUI开发。本文将深入解析SWT的起源、优势、基本组成,以及如何在Eclipse中进行环境...
swt 界面设计SWT(Standard Widget Toolkit) Standard Widget Toolkit是一个开源的GUI编程框架,与AWT/Swing有相似的用处,著名的开源IDE-eclipse就是用SWT开发的。 在SWT之前,Sun已经提供了一个跨平台GUI开发工具包...
SWT,全称为Standard Widget Toolkit,是IBM为了克服Java GUI开发中的局限性而设计的一套跨平台图形用户界面(GUI)开发框架。它的出现源于早期Java的GUI框架AWT(Abstract Windowing Toolkit)存在的问题,即本地...
SWT(Standard Widget Toolkit)是IBM为解决Java GUI开发中的一些固有问题而设计的一套跨平台图形用户界面开发框架。在Java GUI的历史进程中,Sun公司曾推出AWT(Abstract Windowing Toolkit)框架,用以实现跨平台的...
- **AWT与Swing**:为解决LCD问题,Sun进一步推出了Swing框架,采用模拟窗口组件(Emulated Widgets)的方式,以提高GUI组件的丰富度。虽然Swing在很大程度上解决了LCD问题,但随之而来的新问题包括: - **外观一致...
在Java中,有三个主要的GUI工具包:SWT(Standard Widget Toolkit)、Swing和AWT(Abstract Windows Toolkit)。本文将深入探讨这三个工具包,分析它们的特点、优势和不足,帮助开发者在开始项目时选择合适的GUI框架...