java.awt
Class Frame

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame

public class Frame
extends Window
implements MenuContainer

A Frame is a top-level window with a title and a border.

The size of the frame includes any area designated for the border. The dimensions of the border area can be obtained using the getInsets method, however, since these dimensions are platform-dependent, a valid insets value cannot be obtained until the frame is made displayable by either calling pack or show. Since the border area is included in the overall size of the frame, the border effectively obscures a portion of the frame, constraining the area available for rendering and/or displaying subcomponents to the rectangle which has an upper-left corner location of (insets.left, insets.top), and has a size of width - (insets.left + insets.right) by height - (insets.top + insets.bottom).

The default layout for a frame is BorderLayout.

Frames are capable of generating the following types of window events: WindowOpened, WindowClosing, WindowClosed, WindowIconified, WindowDeiconified, WindowActivated, WindowDeactivated.

Since:
JDK1.0
See Also:
WindowEvent, Window.addWindowListener(java.awt.event.WindowListener), Serialized Form

Inner classes inherited from class java.awt.Component
Component.AWTTreeLock, Component.NativeInLightFixer
 
Field Summary
private static String base
           
static int CROSSHAIR_CURSOR
          Deprecated. replaced by Cursor.CROSSHAIR_CURSOR.
static int DEFAULT_CURSOR
          Deprecated. replaced by Cursor.DEFAULT_CURSOR.
static int E_RESIZE_CURSOR
          Deprecated. replaced by Cursor.E_RESIZE_CURSOR.
private  int frameSerializedDataVersion
          Frame Serialized Data Version.
static int HAND_CURSOR
          Deprecated. replaced by Cursor.HAND_CURSOR.
(package private)  Image icon
          icon is the graphical way we can represent the frame.
static int ICONIFIED
           
(package private)  boolean mbManagement
          mbManagement is only used by the Motif implementation.
(package private)  MenuBar menuBar
          The frames menubar.
static int MOVE_CURSOR
          Deprecated. replaced by Cursor.MOVE_CURSOR.
static int N_RESIZE_CURSOR
          Deprecated. replaced by Cursor.N_RESIZE_CURSOR.
private static int nameCounter
           
static int NE_RESIZE_CURSOR
          Deprecated. replaced by Cursor.NE_RESIZE_CURSOR.
static int NORMAL
           
static int NW_RESIZE_CURSOR
          Deprecated. replaced by Cursor.NW_RESIZE_CURSOR.
(package private)  Vector ownedWindows
           
(package private)  boolean resizable
          This field indicates whether the the frame is resizable This property can be changed at any time.
static int S_RESIZE_CURSOR
          Deprecated. replaced by Cursor.S_RESIZE_CURSOR.
static int SE_RESIZE_CURSOR
          Deprecated. replaced by Cursor.SE_RESIZE_CURSOR.
private static long serialVersionUID
           
private  int state
           
static int SW_RESIZE_CURSOR
          Deprecated. replaced by Cursor.SW_RESIZE_CURSOR.
static int TEXT_CURSOR
          Deprecated. replaced by Cursor.TEXT_CURSOR.
(package private)  String title
          This is the title of the frame.
static int W_RESIZE_CURSOR
          Deprecated. replaced by Cursor.W_RESIZE_CURSOR.
static int WAIT_CURSOR
          Deprecated. replaced by Cursor.WAIT_CURSOR.
private  java.lang.ref.WeakReference weakThis
           
 
Fields inherited from class java.awt.Window
active, base, focusMgr, inputContext, nameCounter, OPENED, ownedWindowList, serialVersionUID, state, warningString, weakThis, windowListener, windowSerializedDataVersion
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
Frame()
          Constructs a new instance of Frame that is initially invisible.
Frame(String title)
          Constructs a new, initially invisible Frame object with the specified title.
 
Method Summary
(package private) static void ()
           
 void addNotify()
          Makes this Frame displayable by connecting it to a native screen resource.
(package private)  void addToFrameList()
           
(package private)  String constructComponentName()
          Construct a name for this component.
protected  void finalize()
          We have to remove the (hard) reference to weakThis in the Vector, otherwise the WeakReference instance will never get garbage collected.
 int getCursorType()
          Deprecated. As of JDK version 1.1, replaced by Component.getCursor().
static Frame[] getFrames()
          Returns an array containing all Frames created by the application.
 Image getIconImage()
          Gets the image to be displayed in the minimized icon for this frame.
 MenuBar getMenuBar()
          Gets the menu bar for this frame.
 int getState()
          Gets the state of this frame.
 String getTitle()
          Gets the title of the frame.
private static void initIDs()
          Initialize JNI field and method IDs
 boolean isResizable()
          Indicates whether this frame is resizable by the user.
protected  String paramString()
          Returns the parameter String of this Frame.
(package private)  void postProcessKeyEvent(KeyEvent e)
           
private  void readObject(ObjectInputStream s)
          Read the ObjectInputStream and if it isnt null add a listener to receive item events fired by the Frame.
 void remove(MenuComponent m)
          Removes the specified menu bar from this frame.
(package private)  void removeFromFrameList()
           
 void removeNotify()
          Makes this Frame undisplayable by removing its connection to its native screen resource.
 void setCursor(int cursorType)
          Deprecated. As of JDK version 1.1, replaced by Component.setCursor(Cursor).
 void setIconImage(Image image)
          Sets the image to displayed in the minimized icon for this frame.
 void setMenuBar(MenuBar mb)
          Sets the menu bar for this frame to the specified menu bar.
 void setResizable(boolean resizable)
          Sets whether this frame is resizable by the user.
 void setState(int state)
          Sets the state of this frame.
 void setTitle(String title)
          Sets the title for this frame to the specified string.
private  void writeObject(ObjectOutputStream s)
          Writes default serializable fields to stream.
 
Methods inherited from class java.awt.Window
addOwnedWindow, addWindowListener, applyResourceBundle, applyResourceBundle, connectOwnedWindow, dispatchEventImpl, dispose, eventEnabled, getFocusOwner, getInputContext, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, isActive, isShowing, nextFocus, ownedInit, pack, postEvent, postWindowEvent, preProcessKeyEvent, processEvent, processWindowEvent, removeOwnedWindow, removeWindowListener, setFocusOwner, setWarningString, show, toBack, toFront, transferFocus
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyOrientation, countComponents, deliverEvent, dispatchEventToSelf, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, paint, paintComponents, postsOldMouseEvents, preferredSize, print, printComponents, printOneComponent, processContainerEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFont, setLayout, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

DEFAULT_CURSOR

public static final int DEFAULT_CURSOR
Deprecated. replaced by Cursor.DEFAULT_CURSOR.

CROSSHAIR_CURSOR

public static final int CROSSHAIR_CURSOR
Deprecated. replaced by Cursor.CROSSHAIR_CURSOR.

TEXT_CURSOR

public static final int TEXT_CURSOR
Deprecated. replaced by Cursor.TEXT_CURSOR.

WAIT_CURSOR

public static final int WAIT_CURSOR
Deprecated. replaced by Cursor.WAIT_CURSOR.

SW_RESIZE_CURSOR

public static final int SW_RESIZE_CURSOR
Deprecated. replaced by Cursor.SW_RESIZE_CURSOR.

SE_RESIZE_CURSOR

public static final int SE_RESIZE_CURSOR
Deprecated. replaced by Cursor.SE_RESIZE_CURSOR.

NW_RESIZE_CURSOR

public static final int NW_RESIZE_CURSOR
Deprecated. replaced by Cursor.NW_RESIZE_CURSOR.

NE_RESIZE_CURSOR

public static final int NE_RESIZE_CURSOR
Deprecated. replaced by Cursor.NE_RESIZE_CURSOR.

N_RESIZE_CURSOR

public static final int N_RESIZE_CURSOR
Deprecated. replaced by Cursor.N_RESIZE_CURSOR.

S_RESIZE_CURSOR

public static final int S_RESIZE_CURSOR
Deprecated. replaced by Cursor.S_RESIZE_CURSOR.

W_RESIZE_CURSOR

public static final int W_RESIZE_CURSOR
Deprecated. replaced by Cursor.W_RESIZE_CURSOR.

E_RESIZE_CURSOR

public static final int E_RESIZE_CURSOR
Deprecated. replaced by Cursor.E_RESIZE_CURSOR.

HAND_CURSOR

public static final int HAND_CURSOR
Deprecated. replaced by Cursor.HAND_CURSOR.

MOVE_CURSOR

public static final int MOVE_CURSOR
Deprecated. replaced by Cursor.MOVE_CURSOR.

NORMAL

public static final int NORMAL

ICONIFIED

public static final int ICONIFIED

title

String title
This is the title of the frame. It can be changed at any time. title can be null and if this is the case the title = "".
See Also:
getTitle(), setTitle()

icon

Image icon
icon is the graphical way we can represent the frame. icon can be null, but obviously if you try to set the icon image icon cannot be null.
See Also:
getIconImage(), setIconImage()

menuBar

MenuBar menuBar
The frames menubar. If menuBar = null the frame will not have a menubar.
See Also:
getMenuBar(), setMenuBar()

resizable

boolean resizable
This field indicates whether the the frame is resizable This property can be changed at any time. resizable will be true if the frame is resizable, otherwise it will be false.
See Also:
isResizable()

mbManagement

boolean mbManagement
mbManagement is only used by the Motif implementation.

state

private int state

ownedWindows

Vector ownedWindows

weakThis

private transient java.lang.ref.WeakReference weakThis

base

private static final String base

nameCounter

private static int nameCounter

serialVersionUID

private static final long serialVersionUID

frameSerializedDataVersion

private int frameSerializedDataVersion
Frame Serialized Data Version.
Constructor Detail

Frame

public Frame()
Constructs a new instance of Frame that is initially invisible. The title of the Frame is empty.
See Also:
Component.setSize(int, int), Component.setVisible(boolean)

Frame

public Frame(String title)
Constructs a new, initially invisible Frame object with the specified title.
Parameters:
title - the title to be displayed in the frame's border. A null value is treated as an empty string, "".
See Also:
Component.setSize(int, int), Component.setVisible(boolean)
Method Detail

static void ()

finalize

protected void finalize()
                 throws Throwable
We have to remove the (hard) reference to weakThis in the Vector, otherwise the WeakReference instance will never get garbage collected.
Overrides:
finalize in class Window

constructComponentName

String constructComponentName()
Construct a name for this component. Called by getName() when the name is null.
Overrides:
constructComponentName in class Window

addNotify

public void addNotify()
Makes this Frame displayable by connecting it to a native screen resource. Making a frame displayable will cause any of its children to be made displayable. This method is called internally by the toolkit and should not be called directly by programs.
Overrides:
addNotify in class Window
See Also:
Component.isDisplayable(), removeNotify()

getTitle

public String getTitle()
Gets the title of the frame. The title is displayed in the frame's border.
Returns:
the title of this frame, or an empty string ("") if this frame doesn't have a title.
See Also:
setTitle(java.lang.String)

setTitle

public void setTitle(String title)
Sets the title for this frame to the specified string.
Parameters:
title - the title to be displayed in the frame's border
title - the title to be displayed in the frame's border. A null value is treated as an empty string, "".
See Also:
getTitle()

getIconImage

public Image getIconImage()
Gets the image to be displayed in the minimized icon for this frame.
Returns:
the icon image for this frame, or null if this frame doesn't have an icon image.
See Also:
setIconImage(java.awt.Image)

setIconImage

public void setIconImage(Image image)
Sets the image to displayed in the minimized icon for this frame. Not all platforms support the concept of minimizing a window.
Parameters:
image - the icon image to be displayed. If this parameter is null then the icon image is set to the default image, which may vary with platform.
See Also:
getIconImage()

getMenuBar

public MenuBar getMenuBar()
Gets the menu bar for this frame.
Returns:
the menu bar for this frame, or null if this frame doesn't have a menu bar.
See Also:
setMenuBar(java.awt.MenuBar)

setMenuBar

public void setMenuBar(MenuBar mb)
Sets the menu bar for this frame to the specified menu bar.
Parameters:
mb - the menu bar being set. If this parameter is null then any existing menu bar on this frame is removed.
See Also:
getMenuBar()

isResizable

public boolean isResizable()
Indicates whether this frame is resizable by the user. By default, all frames are initially resizable.
Returns:
true if the user can resize this frame; false otherwise.
See Also:
setResizable(boolean)

setResizable

public void setResizable(boolean resizable)
Sets whether this frame is resizable by the user.
Parameters:
resizable - true if this frame is resizable; false otherwise.
See Also:
isResizable()

setState

public void setState(int state)
Sets the state of this frame.
Returns:
state Frame.ICONIFIED if frame in iconic state; Frame.NORMAL if frame is in normal state.
See Also:
getState()

getState

public int getState()
Gets the state of this frame.
Parameters:
Frame.ICONIFIED - if this frame is in iconic state; Frame.NORMAL if this frame is in normal state.
See Also:
setState(int)

remove

public void remove(MenuComponent m)
Removes the specified menu bar from this frame.
Specified by:
remove in interface MenuContainer
Parameters:
m - the menu component to remove. If this parameter is null then a NullPointerException is thrown and no action is taken.
Overrides:
remove in class Component

removeNotify

public void removeNotify()
Makes this Frame undisplayable by removing its connection to its native screen resource. Making a Frame undisplayable will cause any of its children to be made undisplayable. This method is called by the toolkit internally and should not be called directly by programs.
Overrides:
removeNotify in class Container
See Also:
Component.isDisplayable(), addNotify()

postProcessKeyEvent

void postProcessKeyEvent(KeyEvent e)
Overrides:
postProcessKeyEvent in class Window

paramString

protected String paramString()
Returns the parameter String of this Frame.
Overrides:
paramString in class Container

setCursor

public void setCursor(int cursorType)
Deprecated. As of JDK version 1.1, replaced by Component.setCursor(Cursor).

getCursorType

public int getCursorType()
Deprecated. As of JDK version 1.1, replaced by Component.getCursor().

getFrames

public static Frame[] getFrames()
Returns an array containing all Frames created by the application. If called from an applet, the array will only include the Frames accessible by that applet.
Since:
JDK1.2

addToFrameList

void addToFrameList()

removeFromFrameList

void removeFromFrameList()

writeObject

private void writeObject(ObjectOutputStream s)
                  throws IOException
Writes default serializable fields to stream. Writes a list of serializable ItemListener(s) as optional data. The non-serializable ItemListner(s) are detected and no attempt is made to serialize them.
Overrides:
writeObject in class Window
See Also:
java.awt.Component.itemListenerK

readObject

private void readObject(ObjectInputStream s)
                 throws ClassNotFoundException,
                        IOException
Read the ObjectInputStream and if it isnt null add a listener to receive item events fired by the Frame. Unrecognised keys or values will be Ignored.
Overrides:
readObject in class Window
See Also:
removeActionListener(), addActionListener()

initIDs

private static void initIDs()
Initialize JNI field and method IDs