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.

Field Detail

EXIT_ON_CLOSE

public static final int EXIT_ON_CLOSE

The exit application default window close operation. If a window
has this set as the close operation and is closed in an applet,
a SecurityException may be thrown.
It is recommended you only use this in an application.

setTransferHandler

Sets the transferHandler property, which is a mechanism to
support transfer of data into this component. Use null
if the component does not support data transfer operations.

If the system property suppressSwingDropSupport is false
(the default) and the current drop target on this component is either
null or not a user-set drop target, this method will change the
drop target as follows: If newHandler is null it will
clear the drop target. If not null it will install a new
DropTarget.

Note: When used with JFrame, TransferHandler only
provides data import capability, as the data export related methods
are currently typed to JComponent.

addImpl

Adds the specified child Component.
This method is overridden to conditionally forward calls to the
contentPane.
By default, children are added to the contentPane instead
of the frame, refer to RootPaneContainer for
details.

remove

Removes the specified component from the container. If
comp is not the rootPane, this will forward
the call to the contentPane. This will do nothing if
comp is not a child of the JFrame or
contentPane.

Note : Native windowing systems may use different images of differing
dimensions to represent a window, depending on the context (e.g.
window decoration, window list, taskbar, etc.). They could also use
just a single image for all contexts or no image at all.

setContentPane

Sets the contentPane property.
This method is called by the constructor.

Swing's painting architecture requires an opaque JComponent
in the containment hiearchy. This is typically provided by the
content pane. If you replace the content pane it is recommended you
replace it with an opaque JComponent.

setDefaultLookAndFeelDecorated

Provides a hint as to whether or not newly created JFrames
should have their Window decorations (such as borders, widgets to
close the window, title...) provided by the current look
and feel. If defaultLookAndFeelDecorated is true,
the current LookAndFeel supports providing window
decorations, and the current window manager supports undecorated
windows, then newly created JFrames will have their
Window decorations provided by the current LookAndFeel.
Otherwise, newly created JFrames will have their
Window decorations provided by the current window manager.

You can get the same effect on a single JFrame by doing the following:

paramString

Returns a string representation of this JFrame.
This method
is intended to be used only for debugging purposes, and the
content and format of the returned string may vary between
implementations. The returned string may be empty but may not
be null.