SWT,Swing,AWT及最小公分母问题(LCD)
2008-12-24 20:39
295 查看
首先我们来说下什么是最小公分母的问题,及LCD(least common denominator),这是我们听的最多的,也是讨论的最多的,可是细想是什么的时候却答不上来了。相反还有一个最大公分母(greatest common denominator),看下图:
图里有三个不同的集合,分别代表不同的操作系统,LCD其实指的就是它们三个的交集了,很明显最大公分母就是指它们三的并集喽!
明白LCD, 最大公分母, 我们再分别看看AWT,SWT,SWING。
AWT:
AWT的组件(component)遵循LCD的原则,所以AWT只有所有系统里常用的组件。所以你在AWT里找不到高级的组件如树(tree),因为它在别的系统里没有。对于一些特性AWT也是一样遵循LCD原则。它只支持那些在所有系统里都有的特性。比如:AWT的button里无法加入图像,是因为Motif系统里不支持这个特性。正因为AWT的组件及特性对各系统的很差支持,AWT吸引了很少的用户而被SUN停掉了,它的存在只是为了向后的兼容,并为Swing提供支持。
最小公分母问题(LCD):
读完以上片断大家知道什么是LCD问题了吧!*:)*
SWT:
SWT按最大公分母原则建立,及对所有系统里的组件及特性都支持,它的设计想法是如果这个组件在这个系统里存在的话,那么就用java代码对它进行封装并通过JNI调用。如果这个组件不存在那么就模拟生成及通过在SWT的composite上进行画操作。
Swing:
不用说,也是按最大公分母,可是在效率上表现不怎么样,可能以后会有改变。因为它也是基于AWT容器的,所以无法实现透明窗体等效果。
参考文章:
http://blogs.sun.com/Swing/entry/awt_swt_swing_java_gui
图里有三个不同的集合,分别代表不同的操作系统,LCD其实指的就是它们三个的交集了,很明显最大公分母就是指它们三的并集喽!
明白LCD, 最大公分母, 我们再分别看看AWT,SWT,SWING。
AWT:
AWT的组件(component)遵循LCD的原则,所以AWT只有所有系统里常用的组件。所以你在AWT里找不到高级的组件如树(tree),因为它在别的系统里没有。对于一些特性AWT也是一样遵循LCD原则。它只支持那些在所有系统里都有的特性。比如:AWT的button里无法加入图像,是因为Motif系统里不支持这个特性。正因为AWT的组件及特性对各系统的很差支持,AWT吸引了很少的用户而被SUN停掉了,它的存在只是为了向后的兼容,并为Swing提供支持。
最小公分母问题(LCD):
读完以上片断大家知道什么是LCD问题了吧!*:)*
SWT:
SWT按最大公分母原则建立,及对所有系统里的组件及特性都支持,它的设计想法是如果这个组件在这个系统里存在的话,那么就用java代码对它进行封装并通过JNI调用。如果这个组件不存在那么就模拟生成及通过在SWT的composite上进行画操作。
Swing:
不用说,也是按最大公分母,可是在效率上表现不怎么样,可能以后会有改变。因为它也是基于AWT容器的,所以无法实现透明窗体等效果。
参考文章:
http://blogs.sun.com/Swing/entry/awt_swt_swing_java_gui
相关文章推荐
- SWT,Swing,AWT及最小公分母问题(LCD)
- LCD问题:从awt 到 swing 再到 swt/JFace
- 深入对比分析SWT、Swing 和 AWT
- IBM实验室对SWT, Swing 和 AWT 的特征比较
- SWT、Swing 或 AWT:哪个更适合您?
- 细说Java GUI:AWT,SWT,Swing
- SWT, SWING, AWT各自的特点
- java swt与awt、swing区别
- SWT:AWT和SWING的强大竞争者
- SWT、Swing 或 AWT:哪个更适合您?
- IBM实验室对SWT, Swing 和 AWT 的特征比较
- SWT学习笔记(2)——转载倪大鹏的“SWT:AWT和SWING的强大竞争者”
- AWT,SWT和Swing的区别
- 对Swing、AWT和SWT的认识
- IBM实验室对SWT, Swing 和 AWT 的特征比较
- swing/swt/awt组件互嵌
- SWT、Swing 或 AWT区别 比较
- IBM实验室对SWT, Swing 和 AWT 的特征比较
- 深入对比分析AWT、Swing和SWT
- IBM实验室对SWT, Swing 和 AWT 的特征比较