is new.
java.lang.Objectjava.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
public class JFrame
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 JavaBeans TM has been added to the java.beans package. Please see XMLEncoder .
| Nested Class Summary | |
|---|---|
| protected class |
JFrame.AccessibleJFrame
This class implements accessibility support for the JFrame class. |
| Nested classes/interfaces inherited from class java.awt. Frame |
|---|
| Frame.AccessibleAWTFrame |
| Nested classes/interfaces inherited from class java.awt. Window |
|---|
| Window.AccessibleAWTWindow |
| Nested classes/interfaces inherited from class java.awt. Container |
|---|
| Container.AccessibleAWTContainer |
| Nested classes/interfaces inherited from class java.awt. Component |
|---|
Component.AccessibleAWTComponent
,
Component.BaselineResizeBehavior
,
Component.BltBufferStrategy
,
Component.FlipBufferStrategy
|
| Field Summary | |
|---|---|
| protected AccessibleContext |
accessibleContext
The accessible context property. |
| static int |
EXIT_ON_CLOSE
The exit application default window close operation. |
| protected JRootPane |
rootPane
The JRootPane instance that manages the contentPane and optional menuBar for this frame, as well as the glassPane. |
| protected boolean |
rootPaneCheckingEnabled
If true then calls to add and setLayout will be forwarded to the contentPane. |
| Fields inherited from class java.awt. Frame |
|---|
| CROSSHAIR_CURSOR , DEFAULT_CURSOR , E_RESIZE_CURSOR , HAND_CURSOR , ICONIFIED , MAXIMIZED_BOTH , MAXIMIZED_HORIZ , MAXIMIZED_VERT , MOVE_CURSOR , N_RESIZE_CURSOR , NE_RESIZE_CURSOR , NORMAL , NW_RESIZE_CURSOR , S_RESIZE_CURSOR , SE_RESIZE_CURSOR , SW_RESIZE_CURSOR , TEXT_CURSOR , W_RESIZE_CURSOR , WAIT_CURSOR |
| Fields inherited from class java.awt. Component |
|---|
| BOTTOM_ALIGNMENT , CENTER_ALIGNMENT , LEFT_ALIGNMENT , RIGHT_ALIGNMENT , TOP_ALIGNMENT |
| Fields inherited from interface javax.swing. WindowConstants |
|---|
| DISPOSE_ON_CLOSE , DO_NOTHING_ON_CLOSE , HIDE_ON_CLOSE |
| Fields inherited from interface java.awt.image. ImageObserver |
|---|
| ABORT , ALLBITS , ERROR , FRAMEBITS , HEIGHT , PROPERTIES , SOMEBITS , WIDTH |
| Constructor Summary | |
|---|---|
|
JFrame
() Constructs a new frame that is initially invisible. |
|
|
JFrame
(
GraphicsConfiguration
gc) Creates a Frame in the specified GraphicsConfiguration of a screen device and a blank title. |
|
|
JFrame
(
String
title) Creates a new, initially invisible Frame with the specified title. |
|
|
JFrame
(
String
title,
GraphicsConfiguration
gc) Creates a JFrame with the specified title and the specified GraphicsConfiguration of a screen device. |
|
| Method Summary | |
|---|---|
| protected void |
addImpl
(
Component
comp,
Object
constraints, int index) Adds the specified child Component. |
| protected JRootPane |
createRootPane
() Called by the constructor methods to create the default rootPane. |
| protected void |
frameInit
() Called by the constructors to init the JFrame properly. |
| AccessibleContext |
getAccessibleContext
() Gets the AccessibleContext associated with this JFrame. |
| Container |
getContentPane
() Returns the contentPane object for this frame. |
| int |
getDefaultCloseOperation
() Returns the operation that occurs when the user initiates a "close" on this frame. |
| Component |
getGlassPane
() Returns the glassPane object for this frame. |
| JMenuBar |
getJMenuBar
() Returns the menubar set on this frame. |
| JLayeredPane |
getLayeredPane
() Returns the layeredPane object for this frame. |
| JRootPane |
getRootPane
() Returns the rootPane object for this frame. |
TransferHandler
|
getTransferHandler
()
Gets the transferHandler property.
|
| static boolean |
isDefaultLookAndFeelDecorated
() Returns true if newly created JFrames should have their Window decorations provided by the current look and feel. |
| protected boolean |
isRootPaneCheckingEnabled
() Returns whether calls to add and setLayout are forwarded to the contentPane. |
| protected String |
paramString
() Returns a string representation of this JFrame. |
| protected void |
processWindowEvent
(
WindowEvent
e) Processes window events occurring on this component. |
| void |
remove
(
Component
comp) Removes the specified component from the container. |
void
|
repaint
(long time, int x, int y, int width, int height)
Repaints the specified rectangle of this component within time milliseconds.
|
| void |
setContentPane
(
Container
contentPane) Sets the contentPane property. |
| void |
setDefaultCloseOperation
(int operation) Sets the operation that will happen by default when the user initiates a "close" on this frame. |
| static void |
setDefaultLookAndFeelDecorated
(boolean defaultLookAndFeelDecorated) 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. |
| void |
setGlassPane
(
Component
glassPane) Sets the glassPane property. |
| void |
setIconImage
(
Image
image) Sets the image to be displayed in the minimized icon for this frame. |
| void |
setJMenuBar
(
JMenuBar
menubar) Sets the menubar for this frame. |
| void |
setLayeredPane
(
JLayeredPane
layeredPane) Sets the layeredPane property. |
| void |
setLayout
(
LayoutManager
manager) Sets the LayoutManager. |
| protected void |
setRootPane
(
JRootPane
root) Sets the rootPane property. |
| protected void |
setRootPaneCheckingEnabled
(boolean enabled) Sets whether calls to add and setLayout are forwarded to the contentPane. |
void
|
setTransferHandler
(
TransferHandler
Sets the transferHandler property, which is a mechanism to support transfer of data into this component.
|
| void |
update
(
Graphics
g) Just calls paint(g). |
| Methods inherited from class java.awt. Frame |
|---|
addNotify
,
|
| Methods inherited from class java.lang. Object |
|---|
clone
,
equals
,
finalize
,
getClass
,
hashCode
,
notify
,
notifyAll
,
wait
,
wait
,
wait
|
| Methods inherited from interface java.awt. MenuContainer |
|---|
| getFont , postEvent |
| Field Detail |
|---|
public static final int EXIT_ON_CLOSE
protected JRootPane rootPane
protected boolean rootPaneCheckingEnabled
protected AccessibleContext accessibleContext
| Constructor Detail |
|---|
public JFrame()
throws HeadlessException
This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.
public JFrame(GraphicsConfiguration gc)
This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.
public JFrame(String title)
throws HeadlessException
This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.
public JFrame(String title,
GraphicsConfiguration gc)
This constructor sets the component's locale property to the value returned by JComponent.getDefaultLocale.
| Method Detail |
|---|
protected void frameInit()
protected JRootPane createRootPane()
protected void processWindowEvent(WindowEvent e)
public void setDefaultCloseOperation(int operation)
The value is set to HIDE_ON_CLOSE by default.
Changes to the value of this property cause the firing of a property change event, with property name "defaultCloseOperation".
Note : When the last displayable window within the Java virtual machine (VM) is disposed of, the VM may terminate. See AWT Threading Issues for more information.
public int getDefaultCloseOperation()
setTransferHandler
public void
setTransferHandler
(
TransferHandler
newHandler)
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.
Please see
How to Use Drag and Drop and Data Transfer
, a section in The Java Tutorial, for more information.
Parameters:
newHandler - the new TransferHandler
Since:
1.6
See Also:
TransferHandler
,
getTransferHandler()
,
Component.setDropTarget(java.awt.dnd.DropTarget)
getTransferHandler
public
TransferHandler
getTransferHandler
()
Gets the transferHandler property.
Returns:
the value of the transferHandler property
Since:
1.6
See Also:
TransferHandler
,
setTransferHandler(javax.swing.TransferHandler)
public void update(Graphics g)
public void setJMenuBar(JMenuBar menubar)
public JMenuBar getJMenuBar()
protected boolean isRootPaneCheckingEnabled()
protected void setRootPaneCheckingEnabled(boolean enabled)
protected void addImpl(Component comp,
Object constraints,
int index)
forward
public void remove(Component comp)
public void setLayout(LayoutManager manager)
public JRootPane getRootPane()
protected void setRootPane(JRootPane root)
public void setIconImage(Image image)
public Container getContentPane()
public void setContentPane(Container contentPane)
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.
public JLayeredPane getLayeredPane()
public void setLayeredPane(JLayeredPane layeredPane)
public Component getGlassPane()
public void setGlassPane(Component glassPane)
repaint
public void
repaint
(long time, int x, int y, int width, int height)
Repaints the specified rectangle of this component within time milliseconds. Refer to RepaintManager for details on how the repaint is handled.
Overrides:
repaint
in class
Component
Parameters:
time - maximum time in milliseconds before update
x - the
x
coordinate
y - the
y
coordinate
width - the width
height - the height
Since:
1.6
See Also:
RepaintManager
public static void setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated)
You can get the same effect on a single JFrame by doing the following:
JFrame frame = new JFrame();
frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
public static boolean isDefaultLookAndFeelDecorated()
protected String paramString()
public AccessibleContext getAccessibleContext()