<Java组建>
模拟组件    :   Swing;
原生组件    :   SWT;<AWT>遵循最大公约数原则,即AWT只拥有所有平台上都存在的组件的公有集合。所以你在AWT中无法获取如表或树等高级组件,因为它们在某些平台上不支持。AWT的组件特征同样遵循这一原则。它只提供平台上公有的特征。例如AWT按钮不能附着图片,因为在Motif平台上,按钮是不支持图片的。由于它低劣的组件集和特征,AWT无法吸引开发者。它是Sun不推荐使用的,只是为了确保向下兼容和支持Swing。<SWT>SWT最初的目标之一是为了提供比AWT更为丰富的组件集。它遵循最小公倍数原则以提供一个各个平台上包含的组件的并集。思路是如果一个组件在某个平台上包含,那么SWT就会包装它并用java代码和JNI来调用它。如果一个组件在某一平台上不存在,它就会用继承并绘制Composite的方式来模拟组件。一个SWT Composite类似于AWT的Canvas。以这种方式,SWT提供了较AWT更为丰富的组件集。值得指出的是SWT的JNI封装不同于AWT,它的模拟也不同于Swing。<Swing>Swing是三者中最强大和灵活的。在组件类型上,它遵循最大公约数原则。由于Swing可以控制自身GUI系统的全部并有很好的可扩展和灵活性,它几乎可以创建所有你想象得到的组件。唯一的限制是它的AWT容器。在Swing中你还不能跨平台地实现真正的透明化和不规则矩形窗口,因为Swing依赖于AWT顶层容器例如Applet, Window, Frame and Dialog等。除此之外,Swing几乎实现了所有平台上的标准组件。在组件特征上,Swing遵循最小公倍数原则。它拥有所有平台上可提供的组件特征。不仅如此,你还可以继承已有的Swing组件并添加新的特性。上面比较主要是在API级别上的。让我们将比较的焦点转移到实现细节上。Swing和SWT/AWT的区别是Swing是纯Java实现,而SWT和AWT是Java和JNI的混合。当然,它们的目标都是相同的,提供一个跨平台的APIs。然而为了达到这一点,SWT和AWT不得不牺牲一些组件和特性以提供一个通用的APIs。

转载于:https://www.cnblogs.com/xuejianhui/archive/2012/11/16/2773649.html

Java Swing Awt相关推荐

  1. Java Swing/AWT和GTK混合GUI编程

    首先用C语言的GTK生成动态链接库,然后利用java的native方法调用该动态链接库就可以了,是不是很简单. 环境: JDK 8: OS:CentOS5: GTK:gtk+-2.0 首先看下我的文件 ...

  2. java swing awt绘制一个图片查看器 图片显示 图片控件

    感谢 java图片查看器 的代码 java似乎没有一个名字叫图片控件的 控件,使用swing 的Label显示图片 他的代码如下: package swing.draw; import java.aw ...

  3. Java项目:星际争霸游戏(java+swing+awt界面编程+IO输入输出流+socket+udp网络通信)

    源码获取:博客首页 "资源" 里下载! 功能简介: 星际争霸游戏项目,该项目实现了单人模式和多人合作模式,可记录游戏进度,新建游戏,载入历史记录等功能,多人模式下可以创建一个区,然 ...

  4. Java Swing/AWT API速查手册

  5. java swing mysql实现的仓库库存管理系统

    java swing mysql实现的仓库库存管理系统 项目简介: 给大家介绍下由Java swing mysql实现的一款仓库库存管理系统, 该系统实现了基本的仓库进退货管理.用户管理等操作, 主要 ...

  6. java中awt和swing是的关系以及区别

    二者的优缺点:轻量级元件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为. AWT 是抽象窗口组件工具包,是 java 最早的用于编写图形节目应用程序的开发包.  Swing 是为了解决 ...

  7. 【Java】AWT和Swing概述

    目录 一.前言 awt继承体系 container容器 常见的API 容器的演示 AWT常用组件 Swing概述 Swing的优势: Swing组件和AWT组件的对应关系: 一.前言 这是一个很少用的 ...

  8. java awt 简单计算器,JAVA Swing 开发简易计算器(上)

    开发一个简易的计算器我们主要分为两大部分:图形界面设计与具体功能实现.这篇文章讲图形界面设计,下篇讲具体功能实现. 代码下载:https://github.com/taifus/Java_Calcul ...

  9. 黑马程序员Java Swing笔记分享(AWT篇)

    Swing 类库结构(这边建议边学边看这个图片就可以建立一定的思维导图) Swing 组件都采用 MVC(Model-View-Controller,即模型-视图-控制器)的设计,实现 GUI 组件的 ...

最新文章

  1. LATEX 在section层级目录上也加上虚线
  2. C语言中用栈实现进制转换,利用栈实现进制转换问题
  3. Angular前端事件处理函数的形参名必须为某个硬编码值的怪事
  4. win10引导安卓x86_GPDwin安装安卓x86折腾记
  5. php mysql redis mq_docker 搭建 php-mysql-nginx-redis-rabbitmq环境
  6. JSON数据格式---JSON语法规则、JSON文件
  7. 组建优秀的团队-实现目标的开始
  8. 入选司法部案例库,效率源协助的这起网络游戏外挂案到底“优”在何处?
  9. C4认证Java基础Excel练习题
  10. idea :插件Statistic 统计代码数量和行数
  11. 奇安信天擎的退出以及卸载
  12. AOPlog4j2propagation的7种事务配置
  13. 简单谈谈语音评测(语音评价)
  14. 鲁毅智权力交接:对AMD的影响还将继续
  15. 客户端与平台存在有状态连接的系统蓝绿发布方案设计
  16. 手机 download .cu .log_手机清理内存,这些英文文件哪些是可以删除的?看完就知道...
  17. 当域名被微信封了怎么办?
  18. 自媒体如何快速涨粉?除了互粉还有这3个方法,能轻松上手
  19. 《百年中国文学史》狂人日记
  20. Mixly K210 人脸识别 物体识别 齐护机器人发布AIstart K210人工智能学习主机,解决人工智能学习难的问题

热门文章

  1. Windows系统“无法打开”故障解决方法之一
  2. 那些到了 30 岁的技术人,后来都去哪了?
  3. Scala for循环示例
  4. 软件包管理 之 Fedora Extras(Fedora 计划的扩充资源) rpm.livna.org软件仓库的介绍和应用...
  5. 2018 Multi-University Training Contest 7
  6. oracle 快速备份表数据
  7. Linux底层函数库“glibc”再现重大安全漏洞
  8. 解决linux病毒导致带宽跑满的解决过程 ,可以参考参考
  9. 扩展sp_MSforeach
  10. java加密解密与数字证书的操作