[英]Why are JFrame, JDialog, JApplet (from JRootPane) heavyweight
我知道为什么这些组件被称为重量级组件。 我真正感兴趣的是为什么它们没有实现为轻量级。 谢谢
这些组件是不同类型的窗口。 如果要在操作系统中创建窗口,则需要调用一些OS本机代码,因为用Java无法做到这一点。 不仅如此,所有用户输入事件(鼠标,键盘等)都由OS调度到适当的OS窗口。 Java组件在本机代码中侦听这些事件,然后通过JNI将它们发送到Java级别。 总结:将它们轻量化是不可能的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.