模块 java.desktop

类 JFrame

所有已实现的接口:
ImageObserver , MenuContainer , Serializable , Accessible , RootPaneContainer , WindowConstants

@JavaBean (defaultProperty ="JMenuBar", description ="A toplevel window which can be minimized to an icon.") public class JFrame extends Frame implements WindowConstants , Accessible , RootPaneContainer
java.awt.Frame 的扩展版本,增加了对 JFC/Swing 组件架构的支持。您可以在 如何制作相框 部分找到有关在 The Java Tutorial 中使用 JFrame 的面向任务的文档。

JFrame 类与 Frame 略有不兼容。与所有其他 JFC/Swing 顶级容器一样,JFrame 包含一个 JRootPane 作为其唯一的子容器。这内容面板通常,根窗格提供的应该包含 JFrame 显示的所有非菜单组件。这与 AWT Frame 案例不同。为方便起见,覆盖了此类的 addremovesetLayout 方法,以便它们将调用委托给 ContentPane 的相应方法。例如,您可以将子组件添加到框架中,如下所示:

    frame.add(child);
 
并且孩子将被添加到 contentPane。内容窗格将始终为非空。尝试将其设置为 null 将导致 JFrame 引发异常。默认内容窗格将在其上设置 BorderLayout 管理器。有关添加、删除和设置 JFrameLayoutManager 的详细信息,请参阅 RootPaneContainer

Frame 不同,JFrame 具有一些关于在用户尝试关闭窗口时如何响应的概念。默认行为是在用户关闭窗口时简单地隐藏 JFrame。要更改默认行为,您可以调用方法 setDefaultCloseOperation(int) 。要使 JFrame 的行为与 Frame 实例相同,请使用 setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE)

有关内容窗格和根窗格提供的其他功能的更多信息,请参阅 The Java Tutorial 中的 使用顶级容器

在多屏环境中,您可以在不同的屏幕设备上创建JFrame。有关详细信息,请参阅 Frame

Warning: Swing 不是线程安全的。有关详细信息,请参阅 Swing 的线程策略

Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder

自从:
1.2
参见: