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

最佳答案

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

所有的Swing组件都是所谓的“轻量级”组件,因为它们是用Java编写的。例如,如果您运行Swing应用程序并尝试使用UI分析工具(例如Windows中的WinSpy)对其进行分析,那么您只会看到一个元素:窗口(JFrame)本身。所有其他组件都是从OS的角度绘制的。

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

10-07 13:53