java.awt

接口
异常
错误
java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.Container
          继承者 java.awt.Window
              继承者 java.awt.Frame
所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible
直接已知子类:
JFrame

public class Frame
     
extends Window
implements MenuContainer

Frame 是带有标题和边框的顶层窗口。

窗体的大小包括为边框指定的所有区域。边框区域的尺寸可以使用 getInsets 方法获得,但是,由于这些尺寸与平台相关,因此在通过调用 packshow 将窗体设置为可显示之前,将无法获得有效的 insets 值。由于窗体的总大小包括了边框区,因此边框实际上遮掩了窗体的部分区域,并将可用于在矩形中呈现和/或显示子部件的区域限制在一个矩形内,该矩形左上角的位置为 (insets.left, insets.top),宽度为 width - (insets.left + insets.right),长度为 height - (insets.top + insets.bottom)

窗体的默认布局为 BorderLayout

使用 setUndecorated,窗体可以关闭本机装饰(即 FrameTitlebar)。但只有在窗体不是 displayable 时才能这样做。

在多屏幕环境中,通过使用 Frame(GraphicsConfiguration)Frame(String title, GraphicsConfiguration) 构造 Frame,可以在不同的屏幕设备上创建 FrameGraphicsConfiguration 对象是目标屏幕设备的 GraphicsConfiguration 对象之一。

在虚拟设备多屏幕环境中(其中桌面区域可以跨越多物理屏幕设备),所有配置的边界都是相对于虚拟坐标系的。虚拟坐标系的原点位于主物理屏幕的左上角。是否使用负坐标取决于主物理屏幕在虚拟设备中的位置,如下图所示。

包括三个物理屏幕和一个主物理屏幕的虚拟设备。主物理屏幕
显示坐标为 (0,0),而另一个物理屏幕显示坐标为 (-80,-100)。

在此环境中调用 setLocation 时,必须传递一个虚拟坐标到此方法中。类似地,对 Frame 调用 getLocationOnScreen 将返回虚拟设备坐标。调用 GraphicsConfigurationgetBounds 方法可查找它在虚拟坐标系中的原点。

以下代码将 Frame 的位置设置为 (10, 10)(相对于相应 GraphicsConfiguration 的物理屏幕的原点)。如果不考虑 GraphicsConfiguration 的边界,则 Frame 的位置将被设置为 (10, 10)(相对于虚拟坐标系),并出现在主物理屏幕上,主物理屏幕不同于指定的 GraphicsConfiguration 的物理屏幕。

      Frame f = new Frame(GraphicsConfiguration gc);
      Rectangle bounds = gc.getBounds();
      f.setLocation(10 + bounds.x, 10 + bounds.y);
 

窗体能够生成以下类型的 WindowEvent

  • WINDOW_OPENED
  • WINDOW_CLOSING:
    在处理此事件时,如果程序没有显式地隐藏或释放窗口,则取消窗口关闭操作。
  • WINDOW_CLOSED
  • WINDOW_ICONIFIED
  • WINDOW_DEICONIFIED
  • WINDOW_ACTIVATED
  • WINDOW_DEACTIVATED
  • WINDOW_GAINED_FOCUS
  • WINDOW_LOST_FOCUS
  • WINDOW_STATE_CHANGED

从以下版本开始:
JDK1.0
另请参见:
WindowEvent, Window.addWindowListener(java.awt.event.WindowListener), 序列化表格

嵌套类摘要
protected  class Frame.AccessibleAWTFrame
          此类实现对 Frame 类的可访问性支持。
 
从类 java.awt.Window 继承的嵌套类/接口
Window.AccessibleAWTWindow
 
从类 java.awt.Container 继承的嵌套类/接口
Container.AccessibleAWTContainer
 
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
字段摘要
static int CROSSHAIR_CURSOR
          已过时。 Cursor.CROSSHAIR_CURSOR 取代。
static int DEFAULT_CURSOR
          已过时。 Cursor.DEFAULT_CURSOR 取代。
static int E_RESIZE_CURSOR
          已过时。 Cursor.E_RESIZE_CURSOR 取代。
static int HAND_CURSOR
          已过时。 Cursor.HAND_CURSOR 取代。
static int ICONIFIED
          此状态位指示将窗体图标化。
static int MAXIMIZED_BOTH
          此状态位掩码指示将窗体完全最大化(水平和垂直方向)。
static int MAXIMIZED_HORIZ
          此状态位指示在水平方向将窗体最大化。
static int MAXIMIZED_VERT
          此状态位指示在垂直方向将窗体最大化。
static int MOVE_CURSOR
          已过时。 Cursor.MOVE_CURSOR 取代。
static int N_RESIZE_CURSOR
          已过时。 Cursor.N_RESIZE_CURSOR 取代。
static int NE_RESIZE_CURSOR
          已过时。 Cursor.NE_RESIZE_CURSOR 取代。
static int NORMAL
          窗体处于 "normal" 状态。
static int NW_RESIZE_CURSOR
          已过时。 Cursor.NW_RESIZE_CURSOR 取代。
static int S_RESIZE_CURSOR
          已过时。 Cursor.S_RESIZE_CURSOR 取代。
static int SE_RESIZE_CURSOR
          已过时。 Cursor.SE_RESIZE_CURSOR 取代。
static int SW_RESIZE_CURSOR
          已过时。 Cursor.SW_RESIZE_CURSOR 取代。
static int TEXT_CURSOR
          已过时。 Cursor.TEXT_CURSOR 取代。
static int W_RESIZE_CURSOR
          已过时。 Cursor.W_RESIZE_CURSOR 取代。
static int WAIT_CURSOR
          已过时。 Cursor.WAIT_CURSOR 取代。
 
从类 java.awt.Component 继承的字段
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
从接口 java.awt.image.ImageObserver 继承的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
构造方法摘要
Frame()
          构造一个最初不可见的 Frame 新实例()。
Frame(GraphicsConfiguration gc)
          使用指定的 GraphicsConfiguration 构造一个最初不可见的新 Frame
Frame(String title)
          构造一个新的、最初不可见的、具有指定标题的 Frame 对象。
Frame(String title, GraphicsConfiguration gc)
          构造一个新的、初始不可见的、具有指定标题和 GraphicsConfigurationFrame 对象。
 
方法摘要
 void addNotify()
          通过将此窗体连接到本机屏幕资源,使其成为可显示的。
 AccessibleContext getAccessibleContext()
          获取与此窗体有关的 AccessibleContext。
 int getCursorType()
          已过时。 从 JDK version 1.1 开始,由 Component.getCursor() 取代。
 int getExtendedState()
          获取此窗体的状态。
static Frame[] getFrames()
          返回一个此应用程序创建的所有 Frame 所组成的数组。
 Image getIconImage()
          返回要作为此窗体图标显示的图像。
 Rectangle getMaximizedBounds()
          获取此窗体的最大化边界。
 MenuBar getMenuBar()
          获取此窗体的菜单栏。
 int getState()
          获取此窗体的状态(已废弃)。
 String getTitle()
          获得窗体的标题。
 boolean isResizable()
          指示此窗体是否可由用户调整大小。
 boolean isUndecorated()
          指示此窗体是否未装饰。
protected  String paramString()
          返回表示此 Frame 状态的字符串。
 void remove(MenuComponent m)
          从此窗体移除指定的菜单栏。
 void removeNotify()
          通过移除与本机屏幕资源的连接,将此窗体设置为不可显示的。
 void setCursor(int cursorType)
          已过时。 从 JDK version 1.1 开始,由 Component.setCursor(Cursor) 取代。
 void setExtendedState(int state)
          设置此窗体的状态。
 void setIconImage(Image image)
          设置要作为此窗口图标显示的图像。
 void setMaximizedBounds(Rectangle bounds)
          设置此窗体的最大化边界。
 void setMenuBar(MenuBar mb)
          将此窗体的菜单栏设置为指定的菜单栏。
 void setResizable(boolean resizable)
          设置此窗体是否可由用户调整大小。
 void setState(int state)
          设置此窗体的状态(已废弃)。
 void setTitle(String title)
          将此窗体的标题设置为指定的字符串。
 void setUndecorated(boolean undecorated)
          禁用或启用此窗体的装饰。
 
从类 java.awt.Window 继承的方法
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
从类 java.awt.Container 继承的方法
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
从类 java.awt.Component 继承的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
从接口 java.awt.MenuContainer 继承的方法
getFont, postEvent
 

字段详细信息

DEFAULT_CURSOR

@Deprecated
public static final int DEFAULT_CURSOR
已过时。  Cursor.DEFAULT_CURSOR 取代。
另请参见:
常量字段值

CROSSHAIR_CURSOR

@Deprecated
public static final int CROSSHAIR_CURSOR
已过时。  Cursor.CROSSHAIR_CURSOR 取代。
另请参见:
常量字段值

TEXT_CURSOR

@Deprecated
public static final int TEXT_CURSOR
已过时。  Cursor.TEXT_CURSOR 取代。
另请参见:
常量字段值

WAIT_CURSOR

@Deprecated
public static final int WAIT_CURSOR
已过时。  Cursor.WAIT_CURSOR 取代。
另请参见:
常量字段值

SW_RESIZE_CURSOR

@Deprecated
public static final int SW_RESIZE_CURSOR
已过时。  Cursor.SW_RESIZE_CURSOR 取代。
另请参见:
常量字段值

SE_RESIZE_CURSOR

@Deprecated
public static final int SE_RESIZE_CURSOR