在java中,JFrame是重量级组件还是轻量级组件?
我知道Swing被认为是轻量级的,因为它完全用Java实现,而不需要调用本机操作系统来绘制图形用户界面组件。
另一方面,AWT(Abstract Window Toolkit)是重量级工具包,因为它只是调用操作系统来生成GUI组件。
但我听说Swing仍然基于AWT,甚至Swing组件也必须至少有一个重量级容器。 换句话说,JFrame,JApplet不是轻量级的。这是真的吗? 找出你的理由?
JFrame是重量级的,因为在大多数操作系统中创建任务视图级窗口是不可能的,而不会创建“重”的AWT窗口。 轻量级组件可以用不需要JNI调用的基于java的东西替换内部小部件,但Windows是特殊情况。 但是,JFrame确实允许您进行自定义渲染。 此外,如果你正在使用其他轻量级的东西,那么我建议使用JFrame,因为它使渲染比混合轻型和重型组件更有效。
- 在Swing JFrame上添加WebView控件
- Graphics – 如何使用方法create(int x,int y,int width,int height)和translate(int x,int y)?
- Java旋转非方形JPanel组件
- Java GridBagConstraints gridx和gridy无法正常工作?
- 将AWT应用程序转换为SWT / JFace
- 使用Java在GUI编程中混合awt和swing
- 如何实现椭圆GradientPaint?
- JScrollPane中JPanel上的JTextArea没有正确resize
- 移植使用AWT和Swing的Java应用程序将电影绘制到服务器端