为什么JFrame,JDialog,JApplet(来自JRootPane)重量级

时间:2013-01-17 14:05:35

标签: java swing jframe

我知道为什么这些组件被称为重量级组件。我真正感兴趣的是为什么它们没有实现为轻量级。感谢

1 个答案:

答案 0 :(得分:5)

这些组件是不同类型的窗口。如果要在operationg系统中创建一个窗口,则需要调用一些OS本机代码,因为在Java中无法执行此操作。更重要的是,OS将所有用户输入事件(鼠标,键盘等)分派到适当的OS窗口。 Java组件在本机代码中侦听这些事件,并通过JNI将它们发送到Java级别。总结一下:轻量化它们是不可能的。