模块  java.desktop
软件包  javax.swing

Class JFrame

  • 实现的所有接口
    ImageObserverMenuContainerSerializableAccessibleRootPaneContainerWindowConstants

    @JavaBean(defaultProperty="JMenuBar",          description="A toplevel window which can be minimized to an icon.")public class JFrameextends Frameimplements WindowConstants, Accessible, RootPaneContainer
    扩展版java.awt.Frame ,增加了对JFC / Swing组件体系结构的支持。 你可以找到关于使用面向任务的文档JFrameJava教程 ,在部分How to Make Frames

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

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

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

    有关内容窗格和根窗格提供的其他功能的更多信息,请参阅The Java Tutorial中的 Using Top-Level Containers

    在多屏幕环境中,您可以在其他屏幕设备上创建JFrame 有关更多信息,请参见Frame

    警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy

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

    从以下版本开始:
    1.2
    另请参见:
    JRootPanesetDefaultCloseOperation(int)WindowListener.windowClosing(java.awt.event.WindowEvent)RootPaneContainerSerialized Form