Module java.desktop
Package javax.swing

Class 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);
 
然后子组件将被添加到内容窗格。内容窗格始终不为空。尝试将其设置为null将导致JFrame抛出异常。默认内容窗格将具有BorderLayout管理器设置在其上。有关如何添加、删除和设置JFrameLayoutManager的详细信息,请参阅RootPaneContainer

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

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

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

警告: Swing不是线程安全的。有关更多信息,请参阅Swing的线程策略

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

自:
1.2
参见: