javax.swing
当我在 Java 中创建 GUI 时,我一直使用它。要制作一个窗口,我所要做的就是写:
JFrame frame = new JFrame("Cool Application");
我很好奇——javax.swing.JFrame
实际上是如何制作一个框架的,它是如何保持操作系统独立的?我可以自己创建一个框架而不使用JFrame
吗?
javax.swing
当我在 Java 中创建 GUI 时,我一直使用它。要制作一个窗口,我所要做的就是写:
JFrame frame = new JFrame("Cool Application");
我很好奇——javax.swing.JFrame
实际上是如何制作一个框架的,它是如何保持操作系统独立的?我可以自己创建一个框架而不使用JFrame
吗?
窗口创建被委托回 JVM 的本机操作系统实现。该类Window
负责创建和维护对本机对等点(AKA 对等点)的引用。
实际上Window
委托protected
给createWindow
. _ Toolkit
它的默认实例是从JVM 首次启动时设置的System
属性初始化的。awt.toolkit
对于你的第二个问题,我想通过使用 JNI/JNA 是可能的,但我怀疑你是否真的能够添加任何东西,因为这幅画是由 Java 自己管理的。
我很好奇 - javax.swing.JFrame 实际上是如何制作框架的,它是如何设法保持操作系统独立的?
Java 中的 GUI(对所有 PL 都有效)是在 Native OS 中实现的对等体上创建的,有关详细信息的更多描述可在Windowing 系统中查看
我是否可以在不使用 JFrame 的情况下自己创建框架?
没有 JVM 就无法创建 Java 顶级容器