java AWT本机操作系统库?

java AWT本机操作系统库?,java,swing,Java,Swing,正如我们所知,AWT类使用本机OS库来创建GUI,而Swing使用Java库本身来创建GUI。有人能给我一个与AWT GUI相对应的Windows OS库的示例吗 理论上,它可能取决于jvm实现。但是在Windows中它使用的是WINAPI。 < P>简短的答案是MFC(微软Foundation类),所有的Windows小部件都是基于.F/P> 如果你还记得微软和Java之间的那场伟大的官司,那么微软与Java开发方式“分裂”的原因是MFC——在那一点上,Sun考虑的是一个“JFC”,后来或多或

正如我们所知,AWT类使用本机OS库来创建GUI,而Swing使用Java库本身来创建GUI。有人能给我一个与AWT GUI相对应的Windows OS库的示例吗


理论上,它可能取决于jvm实现。但是在Windows中它使用的是WINAPI。

< P>简短的答案是MFC(微软Foundation类),所有的Windows小部件都是基于.F/P>
如果你还记得微软和Java之间的那场伟大的官司,那么微软与Java开发方式“分裂”的原因是MFC——在那一点上,Sun考虑的是一个“JFC”,后来或多或少变成了Swing。他们不想重新发明他们已经拥有的东西。无论如何,Swing是基于AWT的,AWT是基于Motif/X的,如果我没记错的话,这也是MS基于MFC的。。。决定特定Java Swing/AWT元素(如按钮)如何实现的不是jvm,而是该平台的本机对等方,它通过JNI绑定到Java….

如果您需要了解如何在底层实现它,请下载jdk源代码(OpenJDK是FLOSS),然后自己阅读代码。

不要期望除了与该代码直接相关的开发人员之外的任何人都知道您问题的确切答案。

您能具体指出哪个API用于哪个AWT组件吗?@JavaUser:不。当您知道这一点时会发生什么?@JavaUser:我记得Feynmann的采访“知道某事物的名称和知道某事物之间有很大的区别“。想想看。@Roman不,它是由特定平台的本地对等方定义的。。。通过设计,对等机应该是JVM中立的。。。这是代码->pcode->JVM->JNI->本机对等->到操作系统GUI…@Wintermute:什么是“本机对等”?谷歌对此一无所知。