【问题标题】:How does Java's Swing framework make windows / frames? [closed]Java的Swing框架是如何制作窗口/框架的? [关闭]
【发布时间】:2013-08-11 01:19:57
【问题描述】:

当我在 Java 中创建 GUI 时,我一直使用 javax.swing。要制作一个窗口,我所要做的就是写:

JFrame frame = new JFrame("Cool Application");

我很好奇 - javax.swing.JFrame 实际上是如何制作框架的,它是如何保持独立于操作系统的?不使用JFrame,我可以自己创建一个框架吗?

【问题讨论】:

    标签: java swing user-interface window jframe


    【解决方案1】:

    窗口创建被委托给 JVM 的本机操作系统实现。 Window 类负责创建和维护对本机对等点(AKA 对等点)的引用。

    Window 实际上委托给ToolkitcreateWindow 方法protected。它的默认实例是从System属性awt.toolkit初始化的,这是JVM在首次启动时设置的

    对于你的第二个问题,我想通过使用 JNI/JNA 是可能的,但我怀疑你是否真的能够添加任何东西,因为绘画是由 Java 它自己管理的。

    【讨论】:

      【解决方案2】:

      我很好奇 - javax.swing.JFrame 实际上是如何制作框架的,以及 它是如何保持独立于操作系统的?

      Java 中的 GUI(对所有 PL 都有效)是在 Native OS 中实现的对等体上创建的,有关详细信息的更多描述请参阅Windowing system

      我是否可以自己创建一个框架而不使用 框架?

      不能在没有 JVM 的情况下创建 Java 顶级容器

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-06
        • 2012-04-11
        • 2013-03-02
        • 2012-01-01
        • 2014-04-05
        • 1970-01-01
        相关资源
        最近更新 更多