繁体   English   中英

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

[英]Why are JFrame, JDialog, JApplet (from JRootPane) heavyweight

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM