An extended version of java.awt.Frame that adds support for
the JFC/Swing component architecture.
You can find task-oriented documentation about using JFrame
in The Java Tutorial, in the section
How to Make Frames.
The JFrame class is slightly incompatible with Frame.
Like all other JFC/Swing top-level containers,
a JFrame contains a JRootPane as its only child.
The content pane provided by the root pane should,
as a rule, contain
all the non-menu components displayed by the JFrame.
This is different from the AWT Frame case.
As a conveniance add and its variants, remove and
setLayout have been overridden to forward to the
contentPane as necessary. This means you can write:
frame.add(child);
And the child will be added to the contentPane.
The content pane will
always be non-null. Attempting to set it to null will cause the JFrame
to throw an exception. The default content pane will have a BorderLayout
manager set on it.
Refer to RootPaneContainer
for details on adding, removing and setting the LayoutManager
of a JFrame.
Unlike a Frame, a JFrame has some notion of how to
respond when the user attempts to close the window. The default behavior
is to simply hide the JFrame when the user closes the window. To change the
default behavior, you invoke the method
setDefaultCloseOperation(int) .
To make the JFrame behave the same as a Frame
instance, use
setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE).
For more information on content panes
and other features that root panes provide,
see Using Top-Level Containers in The Java Tutorial.
In a multi-screen environment, you can create a JFrame
on a different screen device. See Frame for more
information.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans package.
Please see XMLEncoder .
java.awt.Framethat adds support for the JFC/Swing component architecture. You can find task-oriented documentation about usingJFramein The Java Tutorial, in the section How to Make Frames.The
JFrameclass is slightly incompatible withFrame. Like all other JFC/Swing top-level containers, aJFramecontains aJRootPaneas its only child. The content pane provided by the root pane should, as a rule, contain all the non-menu components displayed by theJFrame. This is different from the AWTFramecase. As a convenianceaddand its variants,removeandsetLayouthave been overridden to forward to thecontentPaneas necessary. This means you can write:frame.add(child);And the child will be added to the contentPane. The content pane will always be non-null. Attempting to set it to null will cause the JFrame to throw an exception. The default content pane will have a BorderLayout manager set on it. Refer to RootPaneContainer for details on adding, removing and setting theLayoutManagerof aJFrame.Unlike a
Frame, aJFramehas some notion of how to respond when the user attempts to close the window. The default behavior is to simply hide the JFrame when the user closes the window. To change the default behavior, you invoke the method setDefaultCloseOperation(int) . To make theJFramebehave the same as aFrameinstance, usesetDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE).For more information on content panes and other features that root panes provide, see Using Top-Level Containers in The Java Tutorial.
In a multi-screen environment, you can create a
JFrameon a different screen device. See Frame for more information.Warning: Swing is not thread safe. For more information see Swing's Threading Policy.
Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the
java.beanspackage. Please see XMLEncoder .