加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – AWT XOR SWING在一个应用程序中?

发布时间:2020-12-15 08:39:39 所属栏目:Java 来源:网络整理
导读:我正在研究为生物分析工具开发 Java GUI.我的问题是,我可以在相同的模型视图控制设计模式下使用AWT和SWING库吗?或者,它们是以两种不同的方式控制的图书馆吗?我想知道如果我可以将它们放在同一屋檐下,以便重复使用两个库编写的现有代码.非常感谢您的宝贵时
我正在研究为生物分析工具开发 Java GUI.我的问题是,我可以在相同的模型视图控制设计模式下使用AWT和SWING库吗?或者,它们是以两种不同的方式控制的图书馆吗?我想知道如果我可以将它们放在同一屋檐下,以便重复使用两个库编写的现有代码.非常感谢您的宝贵时间.

解决方法

Swing建立在AWT之上,你可以混合Swing和AWT,它在技术上可以工作,但有一些限制:

>重量级vs轻量级组件:AWT中的组件是重量级的 – 它们对应于本机OS窗口.这意味着所有AWT组件都出现在兄弟Swing组件之上. (例如,将awt List和swing JList放在同一个容器中,List将始终显示在JList之上.)
>外观和感觉:AWT组件看起来和感觉都是原生的,因为它们是原生组件. Swing组件具有可插拔的外观和感觉,定义了它们的外观和行为.如果您选择L& F来匹配原生平台,这些组件只是本机外观的“模仿”,并且可以与AWT对应物的行为不同. (例如,JButton vs awt Button.)

出于这些原因,使用一个UI库(可能是Swing)可能是明智之举.

编辑:JDK 6(更新12)提供重量级和轻量级组件的无缝集成,因此混合将无缝地工作.所以第一点不再正确 – 但两个UI工具包之间的外观和感觉仍然不一致.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读