1.AWT和Swing的基本概念

AWT和Swing都是java中的GUI工具包。

AWT(Abstract Window Toolkit):抽象窗口工具包,早期编写图形界面应用程序的包。

Swing :为解决 AWT 存在的问题而新开发的图形界面包,包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。Swing是对AWT的改良和扩展。

Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。

2.AWT和Swing实现原理的对比

AWT的图形函数与操作系统提供的图形函数有着一一对应的关系。也就是说,当我们利用 AWT构件图形用户界面的时候,实际上是在利用操作系统的图形库。

不同的操作系统其图形库的功能可能不一样,在一个平台上存在的功能在另外一个平台上则可能不存在。为了实现Java语言所宣称的"一次编译,到处运行"的概念,AWT不得不通过牺牲功能来实现平台无关性。因此,AWT 的图形功能是各操作系统图形功能的“交集”。

因为AWT是依靠本地方法来实现功能的,所以AWT控件称为“重量级控件”。 而Swing ,不仅提供了AWT 的所有功能,还用纯粹的Java代码对AWT的功能进行了大幅度的扩充。

例如:并不是所有的操作系统都提供了对树形控件的支持, Swing则利用了AWT中所提供的基本作图方法模拟了一个树形控件。

由于 Swing是用纯粹的Java代码来实现的,因此Swing控件在各平台通用。

因为Swing不使用本地方法,故Swing控件称为“轻量级控件”。

3.AWT和Swing之间的区别

1)AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT的Java程序,其运行速度比较慢。

2)AWT的控件在不同的平台可能表现不同,而Swing在所有平台表现一致。

4.Swing的简单实现

1)基本搭建

2)实现一个用户登录框

java swing面试题_Java面试题之AWT、Swing相关推荐

  1. java cglib jar包_Java面试题|反射必看的4道面试题

    上三篇: 动力节点:Java面试题|多线程21道必看面试题​zhuanlan.zhihu.com 动力节点:面试题|Java基础17道常见面试题​zhuanlan.zhihu.com 动力节点:面试题 ...

  2. java linux 面试题_java 面试题

    第一,谈谈final, finally, finalize的区别. final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 ...

  3. java list 删除元素_Java面试题:List如何一边遍历,一边删除?

    这是最近面试时被问到的1道面试题,本篇文章对此问题进行总结分享. 面试清单(Java岗):Java+JVM+数据库+算法+Spring+中间件+设计模式​shimo.im 1. 新手常犯的错误 可能很 ...

  4. java重写面试题_Java面试题:重写了equals方法,为什么还要重写hashCode方法?

    核心问题:重写了equals方法,为什么还要重写hashCode方法? 这不仅仅是一道面试题,而且是关系到我们的代码是否健壮和正确的问题.在前面两篇文章涉及到了equals方法的底层讲解:<说说 ...

  5. java面试题_Java面试题总结(2020年多家公司整理的300道Java面试题手册)

    Java面试手册 目录 一.性能优化面试专栏 1.1.tomcat性能优化整理 1.2.JVM性能优化整理 1.3.Mysql性能优化整理 二.微服务架构面试专栏 2.1.SpringCloud面试整 ...

  6. java for 面试题_Java面试题整理

    面试题总结 目 录 0.通用问题 0.1 自我介绍 0.2 项目中遇到的困难,如何解决的? 0.3 面向对象的特点 0.4 常用的Java类 1.数据结构 1.1 1.2 2.Java基础 2.1 怎 ...

  7. 关于java的面试题_JAVA面试题100问第一部分

    译者注:由于原文太长,这只是大概三分一的部分,即翻译至第五页倒数第三个问题. 以下是面试时常问到的JAVA面试题,能让你对JAVA面试有基本的了解.根据我个人的经验,一个好的面试官在面试的时候是不会事 ...

  8. java程序设计教程试题_java程序设计试题库.doc

    java程序设计试题库.doc 还剩 67页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: <Java 语 ...

  9. JAVA 面试背 通过_java面试题背不下来怎么办?java面试题总结

    最近有很多java人员反映,说java面试题太多根本就背不下来,这可急坏了他们,毕竟要去面试java工作的,那么接下来,我们就来给大家讲解一下java面试题背不下来的解决方法. 其实java面试题背不 ...

最新文章

  1. 再次分享一个多选文件上传方案“.NET研究”
  2. oracle11g安装中的问题
  3. sysbench压力测试工具简介和使用(一)
  4. fatal: unable to access ‘https://XXXXX‘: : OpenSSL SSL_read: Connection was reset, errno 10054……
  5. BZOJ 2176 Strange string 最小表示法
  6. 通过增强的 Windows Forms 支持为 .NET 应用程序精心制作华丽的 UI
  7. java知识总结-24
  8. 远程桌面中断解决技巧
  9. UVA10317- Equating Equations(回溯+剪枝)
  10. 花店管理系统php网站,网上花店管理系统下载_网上花店管理系统官方下载-太平洋下载中心...
  11. 解析淘口令, 淘口令解析,淘口令检测,淘口令不弹原因
  12. word中插入题注 表1 图1
  13. 服务器linux杀网页木马,一次Linux服务器木马查杀经历
  14. 前端根据后端返回数据导出指定样式的表格(xlsx-js-style)
  15. SQL Server - 设置主键自增
  16. vue2.0学习——使用webstorm创建一个vue项目
  17. 手指和手势识别算法原理和解析
  18. Logism · 汉字字库存储芯片扩展 实验
  19. 小混混就没有明天了吗
  20. vue嵌入视频进入首页

热门文章

  1. C#集合类(HashTable, Dictionary, ArrayList,List)与HashTable线程安全
  2. Python列表函数方法
  3. PAT甲级1063 Set Similarity:[C++题解]哈希表、去重
  4. android 7 蓝牙版本,[Android]Android什么版本开始支持蓝牙4.2?答案:Android 7.0
  5. 吴麒pdf 自动控制原理下_自动控制原理 第五讲 频域分析(下)
  6. php人员排班程序,人员排班软件操作步骤
  7. rsa python实现_RSA算法python实现
  8. so文件反编译_安卓攻防so模块自动化修复实战
  9. c语言第1章ppt,c语言第1章课件.ppt
  10. dbunit java_Java – 让DbUnit使用Hibernate事务