组件和轻量级/重量级之间的差异

Bul*_*ent 10 java swing awt

JPanel和JFrame有什么区别以及与轻量级,重量级的关系?

Ale*_*exR 17

JPanel是允许将多个UI组件放在一起的容器.JFrame是使用Swing编写的窗口.

所有Swing组件都是所谓的"lightwight"组件,因为它们是用java编写的.例如,如果您运行Swing应用程序并尝试使用UI分析工具(例如Windows中的WinSpy)对其进行分析,则只能看到一个元素:窗口(JFrame)本身.从OS的角度来看,所有其他组件都是从中提取的.

重量级API - AWT使用OS提供的便携式元素.由于java必须在各种操作系统之间移植,因此AWT非常有限.它仅实现所有平台支持的最小屏幕元素子集.但是,AWT元素直接映射到适当的平台元素,因此UI发现工具将看到它们.这些元素被称为"重量级".