javax.swing

Class JFrame

Implemented Interfaces:
Accessible, ImageObserver, MenuContainer, RootPaneContainer, Serializable, WindowConstants

public class JFrame
extends Frame
implements WindowConstants, RootPaneContainer, Accessible

A window that supports window decorations (titlebar and borders). This is an extension of Frame that provides support for the Swing architecture. Most importantly it contains a JRootPane as it's only top-level child, that manages the content pane, the menu and a glass pane. Also, unlike java.awt.Frames, JFrames support the Swing Pluggable Look & Feel architecture.
See Also:
Serialized Form

Nested Class Summary

protected class
JFrame.AccessibleJFrame
Provides accessibility support for JFrames.

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.BltBufferStrategy, Component.FlipBufferStrategy

Field Summary

static int
EXIT_ON_CLOSE
A flag for setDefaultCloseOperation(int), indicating that the application should be exited, when this JFrame is closed.
protected AccessibleContext
accessibleContext
The accessible context associated with this component.
protected JRootPane
rootPane
protected boolean
rootPaneCheckingEnabled

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, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, N_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, S_RESIZE_CURSOR, TEXT_CURSOR, WAIT_CURSOR, W_RESIZE_CURSOR

Fields inherited from class java.awt.Component

BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Fields inherited from interface java.awt.image.ImageObserver

ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

Fields inherited from interface javax.swing.WindowConstants

DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE

Constructor Summary

JFrame()
Creates a new frame with an empty string for the title.
JFrame(GraphicsConfiguration gc)
Creates a new JFrame in the specified GraphicsConfiguration and with an empty title.
JFrame(String title)
Creates a new JFrame with the specified title.
JFrame(String title, GraphicsConfiguration gc)
Creates a new JFrame in the specified GraphicsConfiguration and with the specified title.

Method Summary

protected void
addImpl(Component comp, Object constraints, int index)
This method is called by all the add() methods to perform the actual adding of the component.
protected JRootPane
createRootPane()
protected void
frameInit()
AccessibleContext
getAccessibleContext()
Returns the object that provides accessibility features for this JFrame.
Container
getContentPane()
getContentPane
int
getDefaultCloseOperation()
Returns a code for the default operation when the frame is closed.
Component
getGlassPane()
getGlassPane
JMenuBar
getJMenuBar()
JLayeredPane
getLayeredPane()
getLayeredPane
Dimension
getPreferredSize()
Returns the preferred size of this container.
JRootPane
getRootPane()
getRootPane
static boolean
isDefaultLookAndFeelDecorated()
protected boolean
isRootPaneCheckingEnabled()
protected String
paramString()
Returns a string describing the attributes for the JFrame, for use in debugging.
protected void
processKeyEvent(KeyEvent e)
Called when a key event is dispatched and component events are enabled.
protected void
processWindowEvent(WindowEvent e)
Dispatches this event to any listeners that are listening for WindowEvents on this window.
void
remove(Component comp)
Removes the specified component from this container.
void
setContentPane(Container contentPane)
setContentPane
void
setDefaultCloseOperation(int operation)
Sets the default operation that is performed when this frame is closed.
static void
setDefaultLookAndFeelDecorated(boolean decorated)
void
setGlassPane(Component glassPane)
setGlassPane
void
setJMenuBar(JMenuBar menubar)
void
setLayeredPane(JLayeredPane layeredPane)
setLayeredPane
void
setLayout(LayoutManager manager)
Sets the layout manager for this container to the specified layout manager.
protected void
setRootPane(JRootPane root)
protected void
setRootPaneCheckingEnabled(boolean enabled)
void
update(Graphics g)
Updates this container.

Methods inherited from class java.awt.Frame

addNotify, getAccessibleContext, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, paramString, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated

Methods inherited from class java.awt.Window

addNotify, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, extends EventListener> T[] getListeners, getAccessibleContext, getBufferStrategy, getFocusCycleRootAncestor, getFocusOwner, getFocusableWindowState, getGraphicsConfiguration, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusCycleRoot, isFocusableWindow, isFocused, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setCursor, setFocusCycleRoot, setFocusableWindowState, setLocationRelativeTo, toBack, toFront, void hide, void show

Methods inherited from class java.awt.Container

add, add, add, add, add, addContainerListener, addImpl, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, extends EventListener> T[] getListeners, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponentZOrder, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree

Methods inherited from class java.awt.Component

action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, extends EventListener> T[] getListeners, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFocusable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFocusable, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

EXIT_ON_CLOSE

public static final int EXIT_ON_CLOSE
A flag for setDefaultCloseOperation(int), indicating that the application should be exited, when this JFrame is closed. Note that in version 1.4, the equivalent constant has been added to WindowConstants.
Field Value:
3
Since:
1.3

accessibleContext

protected AccessibleContext accessibleContext
The accessible context associated with this component. This is only set by subclasses.
Since:
1.2

rootPane

protected JRootPane rootPane

rootPaneCheckingEnabled

protected boolean rootPaneCheckingEnabled

Constructor Details

JFrame

public JFrame()
Creates a new frame with an empty string for the title.

JFrame

public JFrame(GraphicsConfiguration gc)
Creates a new JFrame in the specified GraphicsConfiguration and with an empty title.
Parameters:
gc - the GraphicsConfiguration that is used for the new JFrame

JFrame

public JFrame(String title)
Creates a new JFrame with the specified title.
Parameters:
title - the frame title (null permitted).

JFrame

public JFrame(String title,
              GraphicsConfiguration gc)
Creates a new JFrame in the specified GraphicsConfiguration and with the specified title.
Parameters:
title - the title for the new JFrame
gc - the GraphicsConfiguration that is used for the new JFrame

Method Details

addImpl

protected void addImpl(Component comp,
                       Object constraints,
                       int index)
This method is called by all the add() methods to perform the actual adding of the component. Subclasses who wish to perform their own processing when a component is added should override this method. Any subclass doing this must call the superclass version of this method in order to ensure proper functioning of the container.
Overrides:
addImpl in interface Container
Parameters:
comp - The component to be added.
constraints - The layout constraints for this component, or null if there are no constraints.
index - The index in the component list to insert this child at, or -1 to add at the end of the list.
Throws:
ArrayIndexOutOfBoundsException - If the specified index is invalid.

createRootPane

protected JRootPane createRootPane()

frameInit

protected void frameInit()

getAccessibleContext

public AccessibleContext getAccessibleContext()
Returns the object that provides accessibility features for this JFrame.
Specified by:
getAccessibleContext in interface Accessible
Overrides:
getAccessibleContext in interface Frame
Returns:
The accessible context (an instance of JFrame.AccessibleJFrame).

getContentPane

public Container getContentPane()
getContentPane
Specified by:
getContentPane in interface RootPaneContainer

getDefaultCloseOperation

public int getDefaultCloseOperation()
Returns a code for the default operation when the frame is closed. The default value is WindowConstants.HIDE_ON_CLOSE.

getGlassPane

public Component getGlassPane()
getGlassPane
Specified by:
getGlassPane in interface RootPaneContainer

getJMenuBar

public JMenuBar getJMenuBar()

getLayeredPane

public JLayeredPane getLayeredPane()
getLayeredPane
Specified by:
getLayeredPane in interface RootPaneContainer

getPreferredSize

public Dimension getPreferredSize()
Returns the preferred size of this container.
Overrides:
getPreferredSize in interface Container
Returns:
The preferred size of this container.

getRootPane

public JRootPane getRootPane()
getRootPane
Specified by:
getRootPane in interface RootPaneContainer

isDefaultLookAndFeelDecorated

public static boolean isDefaultLookAndFeelDecorated()

isRootPaneCheckingEnabled

protected boolean isRootPaneCheckingEnabled()

paramString

protected String paramString()
Returns a string describing the attributes for the JFrame, for use in debugging. The return value is guaranteed to be non-null, but the format may vary between implementations.
Overrides:
paramString in interface Frame
Returns:
A string describing the attributes of the JFrame.

processKeyEvent

protected void processKeyEvent(KeyEvent e)
Called when a key event is dispatched and component events are enabled. This method passes the event along to any listeners that are attached.
Overrides:
processKeyEvent in interface Component
Parameters:
e - the KeyEvent to process
Throws:
NullPointerException - if e is null
Since:
1.1

processWindowEvent

protected void processWindowEvent(WindowEvent e)
Dispatches this event to any listeners that are listening for WindowEvents on this window. This method only gets invoked if it is enabled via enableEvents() or if a listener has been added.
Overrides:
processWindowEvent in interface Window
Parameters:

remove

public void remove(Component comp)
Removes the specified component from this container.
Overrides:
remove in interface Container
Parameters:
comp - The component to remove from this container.

setContentPane

public void setContentPane(Container contentPane)
setContentPane
Specified by:
setContentPane in interface RootPaneContainer
Parameters:
contentPane - TODO

setDefaultCloseOperation

public void setDefaultCloseOperation(int operation)
Sets the default operation that is performed when this frame is closed. The default is HIDE_ON_CLOSE. When EXIT_ON_CLOSE is specified this method calls SecurityManager.checkExit(0) which might throw a SecurityException.
Throws:
IllegalArgumentException - if operation is not one of the specified codes.

setDefaultLookAndFeelDecorated

public static void setDefaultLookAndFeelDecorated(boolean decorated)

setGlassPane

public void setGlassPane(Component glassPane)
setGlassPane
Specified by:
setGlassPane in interface RootPaneContainer
Parameters:
glassPane - TODO

setJMenuBar

public void setJMenuBar(JMenuBar menubar)

setLayeredPane

public void setLayeredPane(JLayeredPane layeredPane)
setLayeredPane
Specified by:
setLayeredPane in interface RootPaneContainer
Parameters:
layeredPane - TODO

setLayout

public void setLayout(LayoutManager manager)
Sets the layout manager for this container to the specified layout manager.
Overrides:
setLayout in interface Container
Parameters:

setRootPane

protected void setRootPane(JRootPane root)

setRootPaneCheckingEnabled

protected void setRootPaneCheckingEnabled(boolean enabled)

update

public void update(Graphics g)
Updates this container. The implementation of this method in this class forwards to any lightweight components in this container. If this method is subclassed, this method should still be invoked as a superclass method so that lightweight components are properly drawn.
Overrides:
update in interface Container
Parameters:
g - The graphics context for this update.

JFrame.java -- Copyright (C) 2002, 2004, 2005, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.