jFrame

JFrame 类与 Frame 轻微不兼容。与其他所有 JFC/Swing 顶层容器一样，JFrame 包含一个 JRootPane 作为其惟一的子容器。根据规定，根窗格所提供的内容窗格应该包含 JFrame 所显示的所有非菜单组件。这不同于 AWT Frame。作为 add 的便捷方法及其变体，已经重写了 remove 和 setLayout，以在必要时将其转发到 contentPane。这意味着可以编写：

frame.add(child);

子级将被添加到 contentPane。内容窗格始终是非 null 的。试图将其设置为 null 会导致 JFrame 抛出异常。默认的内容窗格上会设置有 BorderLayout 管理器。有关添加、移除和设置 JFrame 的 LayoutManager 的详情，请参阅 RootPaneContainer。

与 Frame 不同，当用户试图关闭窗口时，JFrame 知道如何进行响应。用户关闭窗口时，默认的行为只是简单地隐藏 JFrame。要更改默认的行为，可调用方法 setDefaultCloseOperation(int)。要使 JFrame 的行为与 Frame 实例相同，请使用 setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE)。

在多屏幕环境中，可以在不同的屏幕设备上创建一个 JFrame。