轻量组件首次出现在AWT1.1版本中。AWT最初只包括与本地对等组件相关联的重量组件,这些组件在它们自己的本地不透明窗口中绘制。相反,Swing组件几乎都是轻量组件,与重量组件相比,没有本地的对等组件,不像重量组件要在它们自己的本地不透明窗体中绘制,轻量组件在它们的重量组件的窗口中绘制。   由于轻量组件不在本地不透明的窗口中绘制,因此,它们可以有透明的背景。透明的背景使显示的轻量组件可以是非矩形的,虽然所有组件(重量的或轻量的)都有一个矩形的边框。Swing是由100%纯Java实现的,Swing组件是用Java实现的轻量级(   light-weight)组件,没有本地代码,不依赖操作系统的支持,这是它与AWT组件的最大区别。由于AWT组件通过与具体平台相关的对等类(Peer)实现,因此Swing比AWT组件具有更强的实用性。Swing在不同的平台上表现一致,并且有能力提供本地窗口系统不支持的其它特性。在AWT组件中,由于控制组件外观的对等类与具体平台相关,使得AWT组件总是只有与本机相关的外观。Swing使得程序在一个平台上运行时能够有不同的外观。用户可以选择自己习惯的外观。                     在javax.swing包中,定义了两种类型的组件:顶层容器(JFrame,JApplet,JDialog和JWindow)和轻量级组件。Swing组件都是AWT的Container类的直接子类和间接子类。Swing组件几乎都是轻量组件,那些顶层容器:窗体,小应用程序、窗口和对话框除外。因为轻量组件是在其容器的窗口中绘制的,而不是在自己的窗口中绘制的,所以轻量组件最终必须包含在一个重量容器中。因此,Swing的窗体、小应用程序、窗口和对话框都必须是重量组件,以便提供一个可以在其绘制Swing轻量组件的窗口。 ----------------------- 附:为了尽快推向市场和保持本地的界面样式,于是产生了基于对等组件的体系结构,而该体系结构注定是要失败的。对等组件是完成薄弱的AWT   对象所委托任务的本地用户界面组件。对等组件负责完成所有的具体工作,包括绘制自己、对事件做出反应等,这使得AWT组件除了在适当的时间与其对等组件交互外无事可做。由于AWT类只是较复杂的本地对等组件的外壳,所以,AWT的早期开发人员能在最快的时间↑(一)内创建组件。例如,java.awt.Panel类只包含十二行代码。            另外,对等组件的设计也有严重的缺点。首先,在大多数平台上,对等组件都是在本地窗口中绘制的。每个组件一个本地窗口实在不能得到高性能,为此,含有大量AWT组件的小应用程序付出了很高的性能代价。

java中的轻重量级组件_java Swing AWT 轻量级组建 和 重量级组件相关推荐

  1. java中synchronized锁的升级(偏向锁、轻量级锁及重量级锁)

    java同步锁前置知识点 编码中如果使用锁可以使用synchronized关键字,对方法.代码块进行同步加锁 Synchronized同步锁是jvm内置的隐式锁(相对Lock,隐式加锁与释放) Syn ...

  2. java中复选框组件_Java Swing JCheckBox:复选框组件

    一个复选框有选中和未选中两种状态,并且可以同时选定多个复选框.Swing中使用 JCheckBox 类实现复选框,该类的常用构造方法如下.JCheckBox():创建一个默认的复选框,在默认情况下既未 ...

  3. java swing自定义组件_JAVA Swing自定义JScorllPanel

    JAVA Swing中JScrollPanle自定义带标尺的JScrollPanel Swing中JScrollPanel的结构与组成如下图: 分为四个角与四个边,中间蓝色矩形为View窗口,可以通过 ...

  4. java中用于选择按钮的语句_java程序员考试套题1

    Java练习一 一.选择题 1.在Java中,下列()方法可以把JFrame对象jFrame的布局管理器设为FlowLayout 类型. A.jFrame.setLayout(new FlowLayo ...

  5. 在java中通过过键盘输入_java中从键盘输入

    控制台输入数据 1.1 主方法的形式参数 在 Java 中利用 main(Str... Java中获取键盘输入值的三种方法 2012-11-13 00:00比特网悠虎关键字:Java 程序开发过程中, ...

  6. java中怎么编写围棋对弈_java课程设计围棋对弈(含代码).doc

    java课程设计围棋对弈(含代码).doc C:\ProgramFiles\Java\jdk1.8.0_45Java程序课程设计任务书1.主要任务与目标创建一个围棋对弈平台.基于Panel类定义一个面 ...

  7. java中的匿名类方法覆盖_Java技巧:用匿名类来实现简化程序调试

    Java技巧:用匿名类来实现简化程序调试 在Java中,匿名类(Anonymous inner classes)多用来处理事件(event handle).但其实,它们对于debug也很有帮助.本文将 ...

  8. java中属性文件读取案例_java相关:Spring中属性文件properties的读取与使用详解

    java相关:Spring中属性文件properties的读取与使用详解 发布于 2020-6-3| 复制链接 摘记: Spring中属性文件properties的读取与使用详解实际项目中,通常将一些 ...

  9. java中必检异常有哪些_Java面试题经典面试题220道(附答案)

    Java基础: 1.JDK 和 JRE 有什么区别? 2. == 和 equals 的区别是什么?== 解读 3. 两个对象的 hashCode() 相同, 那么 equals() 也一定为 true ...

  10. Java中complex怎么被调用_java中存在三种调用机制

    1:同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用 2:回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口: 3:异步调用:一种类似消息或事件的机制 ...

最新文章

  1. 独家 | 使用高斯混合模型,让聚类更好更精确(附数据代码学习资源)
  2. Mac下python3配置opencv3 3和Mac下单独opencv的配置以及iOS下配置opencv
  3. 【译】Linux概念架构的理解
  4. 手绘风格的数据可视化 Sketchify,让你的图表也萌萌哒
  5. sql 中 limit 与 limit,offset连用的区别
  6. php m grep event,php-如何杀死与30分钟以上的grep匹配的进程?
  7. 前端学习(1127):递归求数学题2
  8. throws与throw有什么关系?区别是什么?
  9. C语言 memset函数简单实现
  10. 最新cuDNN 7[Linux]百度云下载[免费] 适用于CUDA 10.0
  11. 活性边表算法c语言,《计算机图形学》有序边表填充算法.doc
  12. SAP 图标查找及方法
  13. maven安装Ojdbc6
  14. 三款免费好用的Gif录屏神器
  15. 三星S7edge番茄花园ROM
  16. ATMEGA128——初探
  17. android dts播放器下载,安卓dts音效apk安装包
  18. 广搜算法之翻转棋子游戏
  19. 任务管理器已被系统管理员停用的解决方法
  20. Google Pay India(UPI) 印度

热门文章

  1. 故障:“远程计算机需要网络级别身份验证
  2. 去掉Windows Media Player 12 中”挖挖哇“网址的方法
  3. ORACLE 常用脚本(4)
  4. 苹果mac文档处理工具:microsoftword
  5. OmniPlan Pro 4 for Mac(项目流程管理)
  6. 如何将Mac“桌面”和“文稿”文件添加到 iCloud 云盘中?
  7. xadmin 组件拓展自定义使用
  8. OA系统中的HRM的发展和存在的误区,值得每一个HR学习
  9. 【区块链】2018全年比特币网络重要指标图表分析
  10. 2018杭电多校第六场1009(DFS,思维)