当前位置:  开发笔记 > 编程语言 > 正文

摆动部件重量轻?

如何解决《摆动部件重量轻?》经验,为你挑选了2个好方法。

每当我读到Swing时,他们都会说它们是轻量级组件.所以我只是用谷歌搜索Swing,发现这意味着Swing不依赖于本地同行.这就是为什么他们被称为"轻量级"?我的意思是重量轻,我想可能Swing组件比AWT组件占用更少的内存.不是这样吗?



1> coobird..:

Swing被认为是轻量级的,因为它完全用Java实现,而不需要调用本机操作系统来绘制图形用户界面组件.

另一方面,AWT(抽象窗口工具包)是重量级工具包,因为它只是调用操作系统来生成其GUI组件.

来自AWT和Swing中的绘画的Swing Paint System部分的演变解释了轻量级和重量级之间的区别:

当为JDK 1.0开发原始AWT API时,只存在重量级组件("重量级"意味着该组件具有自己的不透明本机窗口).这使得AWT在很大程度上依赖于每个本机平台中的绘图子系统.

[...]

随着JDK 1.1中轻量级组件的引入("轻量级"组件是重用其最接近的重量级祖先的本机窗口的组件),AWT需要在共享Java代码中实现轻量级组件的绘制处理.

由于Swing是用Java实现的,它确实有一些性能劣势,但是,我听说在最近的Java版本中性能有所提高.

摇摆的优点是,它有许多可用的多个组件,如JTableJList它们比AWT提供的组件更图形化和可扩展性,允许更多的图形丰富的应用程序开发.



2> cletus..:

轻量级与重量级是一个如何实现UI组件的问题.重量级组件包装操作系统对象,轻量级组件则不包含.它们严格地在JDK中实现.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有