首页 > 解决方案 > JFrame 是如何实际创建的?

问题描述

我很好奇 Java 实际上是如何在摇摆中创建 JFrame 的。一个窗口是如何神奇地弹出的?因此,我继续查看 JFrame 的源代码,最后找到了 Window 类的源代码。

在 Window 类中,发生了太多事情,我不知道在显示窗口的初始化时有什么提示。我是初学者,即使它是非常高级的东西,我仍然希望看到制作窗口的实际代码。

也许我在看错误的东西。如果有人能指出我正确的方向或提供链接,那就太好了。

编辑:

如果有人对我要问的内容感到困惑,说你要创建一个像 JFrame 一样的窗口,但是从头开始,它会怎么做?它是如何在摇摆中完成的?

标签: javaswingjframewindow

解决方案


Window(或更正式的 java.awt.Window)是平台原生工具包窗口的 Java API。所有现代操作系统(无论如何都支持显示)都带有一个工具包。

JFrame 和 Swing 是在 Java 中提供用户界面 (UI) 工具包的第二次尝试,该工具包在多个操作系统上的外观和工作方式相同。java.awt 中的类如 Frame 和 Dialog 是第一次尝试,但它们具有本地对等类(参见 java.awt.peer - 编译的 C/C++ 代码),并且在不同的操作系统中呈现和执行非常不同。

所以在幕后发生的事情是,JFrame 首先从 OS 工具包创建最基本的窗口,然后将其修饰(添加菜单栏、滚动条等)成为 Swing Java 中的 JFrame 或 JDialog自己上课。


推荐阅读