我知道Swing被认为是轻量级的,因为它完全用Java实现,而不需要调用本机操作系统来绘制图形用户界面组件.
另一方面,AWT(抽象窗口工具包)是重量级工具包,因为它只是调用操作系统来生成其GUI组件.
但我听说Swing仍然基于AWT,甚至Swing组件也必须至少有一个重量级容器.换句话说,JFrame,JApplet不是轻量级的.这是真的吗?
找出你的理由?
解决方法:
JFrame是重量级的,因为在大多数操作系统中创建任务视图级窗口是不可能的,而不会创建“重”的AWT窗口.轻量级组件可以用不需要JNI调用的基于java的东西替换内部小部件,但Windows是特殊情况.但是,JFrame确实允许您进行自定义渲染.此外,如果你正在使用其他轻量级的东西,那么我建议使用JFrame,因为它使渲染比混合轻型和重型组件更有效.