所有类


javax.swing
类 JFrame

java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.Container
          继承者 java.awt.Window
              继承者 java.awt.Frame
                  继承者 javax.swing.JFrame
所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class JFrame
   
   
   
   
   
extends Frame
implements WindowConstants, Accessible, RootPaneContainer

java.awt.Frame 的扩展版本,该版本添加了对 JFC/Swing 组件架构的支持。有关使用 JFrame 的面向任务的文档,请参阅《The Java Tutorial》中的 How to Make Frames 一节。

JFrame 类与 Frame 轻微不兼容。与其他所有 JFC/Swing 顶层容器一样,JFrame 包含一个 JRootPane 作为其惟一的子容器。根据规定,根窗格所提供的内容窗格应该包含 JFrame 所显示的所有非菜单组件。这不同于 AWT Frame。作为 add 的便捷方法及其变体,已经重写了 removesetLayout,以在必要时将其转发到 contentPane。这意味着可以编写:

       frame.add(child);
 
子级将被添加到 contentPane。内容窗格始终是非 null 的。试图将其设置为 null 会导致 JFrame 抛出异常。默认的内容窗格上会设置有 BorderLayout 管理器。有关添加、移除和设置 JFrameLayoutManager 的详情,请参阅 RootPaneContainer

Frame 不同,当用户试图关闭窗口时,JFrame 知道如何进行响应。用户关闭窗口时,默认的行为只是简单地隐藏 JFrame。要更改默认的行为,可调用方法 setDefaultCloseOperation(int)。要使 JFrame 的行为与 Frame 实例相同,请使用 setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE)

有关内容窗格和根窗格提供的其他功能的更多信息,请参阅《The Java Tutorial》中的 Using Top-Level Containers 一节。

在多屏幕环境中,可以在不同的屏幕设备上创建一个 JFrame。有关更多信息,请参阅 Frame

警告:此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder

另请参见:
JRootPane, setDefaultCloseOperation(int), WindowListener.windowClosing(java.awt.event.WindowEvent), RootPaneContainer

嵌套类摘要
protected  classJFrame.AccessibleJFrame
          此类实现对 JFrame 类的可访问性支持。
 
从类 java.awt.Frame 继承的嵌套类/接口
Frame.AccessibleAWTFrame
 
从类 java.awt.Window 继承的嵌套类/接口
Window.AccessibleAWTWindow
 
从类 java.awt.Container 继承的嵌套类/接口
Container.AccessibleAWTContainer
 
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
字段摘要
protected  AccessibleContextaccessibleContext
          可访问的上下文属性。
static intEXIT_ON_CLOSE
          退出应用程序后的默认窗口关闭操作。
protected  JRootPanerootPane
          JRootPane 实例管理此窗体的 contentPane 和可选的 menuBar,以及 glassPane
protected  booleanrootPaneCheckingEnabled
          如果为 true,则将对 addsetLayout 的调用转发到 contentPane
 
从类 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
 
从类 java.awt.Component 继承的字段
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
从接口 javax.swing.WindowConstants 继承的字段
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
从接口 java.awt.image.ImageObserver 继承的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
构造方法摘要
JFrame()
          构造一个初始时不可见的新窗体。
JFrame(GraphicsConfiguration gc)
          以屏幕设备的指定 GraphicsConfiguration 和空白标题创建一个 Frame
JFrame(String title)
          创建一个新的、初始不可见的、具有指定标题的 Frame
JFrame(String title, GraphicsConfiguration gc)
          创建一个具有指定标题和指定屏幕设备的 GraphicsConfigurationJFrame
 
方法摘要
protected  voidaddImpl(Component comp, Object constraints, int index)
          添加指定的子 Component
protected  JRootPanecreateRootPane()
          由构造方法调用,以创建默认的 rootPane
protected  voidframeInit()
          由构造方法调用,以适当地初始化 JFrame
 AccessibleContextgetAccessibleContext()
          获得与此 JFrame 关联的 AccessibleContext。
 ContainergetContentPane()
          返回此窗体的 contentPane 对象
 intgetDefaultCloseOperation()
          返回用户在此窗体上发起 "close" 时执行的操作。
 ComponentgetGlassPane()
          返回此窗体的 glassPane 对象。
 JMenuBargetJMenuBar()
          返回此窗体上设置的菜单栏。
 JLayeredPanegetLayeredPane()
          返回此窗体的 layeredPane 对象。
 JRootPanegetRootPane()
          返回此窗体的 rootPane 对象。
static booleanisDefaultLookAndFeelDecorated()
          如果新创建的 JFrame 应该由当前外观为其提供 Window 装饰,则返回 true。
protected  booleanisRootPaneCheckingEnabled()
          返回是否将对 addsetLayout 的调用转发到 contentPane
protected  StringparamString()
          返回此 JFrame 的字符串表示形式。
protected  voidprocessWindowEvent(WindowEvent e)
          处理此组件上发生的窗口事件。
 voidremove(Component comp)
          从该容器中移除指定组件。
 voidsetContentPane(Container contentPane)
          设置 contentPane 属性。
 voidsetDefaultCloseOperation(int operation)
          设置用户在此窗体上发起 "close" 时默认执行的操作。
static voidsetDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated)
          提供一个关于新创建的 JFrame 是否应该具有当前外观为其提供的 Window 装饰(如边框、关闭窗口的小部件、标题等等)的提示。
 voidsetGlassPane(Component glassPane)
          设置 glassPane 属性。
 voidsetIconImage(Image image)
          设置此 frame 要显示在最小化图标中的图像。
 voidsetJMenuBar(JMenuBar menubar)
          设置此窗体的菜单栏。
 voidsetLayeredPane(JLayeredPane layeredPane)
          设置 layeredPane 属性。
 voidsetLayout(LayoutManager manager)
          设置 LayoutManager
protected  voidsetRootPane(JRootPane root)
          设置 rootPane 属性。
protected  voidsetRootPaneCheckingEnabled(boolean enabled)
          设置是否将对 addsetLayout 的调用转发到 contentPane
 voidupdate(Graphics g)
          只是调用 paint(g)
 
从类 java.awt.Frame 继承的方法
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
从类 java.awt.Window 继承的方法
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, show, toBack, toFront
 
从类 java.awt.Container 继承的方法
add, add, add, add, add, addContainerListener, 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, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, 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, 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, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
从类 java.lang.Object 继承的方法
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
从接口 java.awt.MenuContainer 继承的方法
getFont, postEvent
 

字段详细信息

EXIT_ON_CLOSE

public static final int EXIT_ON_CLOSE
退出应用程序后的默认窗口关闭操作。如果执行关闭操作时窗口具有此设置并且是在 applet 中关闭窗口,则可能抛出 SecurityException。建议仅在应用程序中使用此设置。

从以下版本开始:
1.3
另请参见:
常量字段值

rootPane

protected JRootPane rootPane
JRootPane 实例管理此窗体的 contentPane 和可选的 menuBar,以及 glassPane

另请参见:
JRootPane, RootPaneContainer

rootPaneCheckingEnabled

protected boolean rootPaneCheckingEnabled
如果为 true,则将对 addsetLayout 的调用转发到 contentPane。此设置初始为 false,但在构建 JFrame 时将其设置为 true。

另请参见:
isRootPaneCheckingEnabled(), setRootPaneCheckingEnabled(boolean), RootPaneContainer

accessibleContext

protected AccessibleContext accessibleContext
可访问的上下文属性。

构造方法详细信息

JFrame

public JFrame()
       throws HeadlessException
构造一个初始时不可见的新窗体。

此构造方法将组件的 locale 属性设置为 JComponent.getDefaultLocale 所返回的值。

抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
另请参见:
GraphicsEnvironment.isHeadless(), Component.setSize(int, int), Component.setVisible(boolean), JComponent.getDefaultLocale()

JFrame

public JFrame(GraphicsConfiguration gc)
以屏幕设备的指定 GraphicsConfiguration 和空白标题创建一个 Frame

此构造方法将组件的 locale 属性设置为 JComponent.getDefaultLocale 所返回的值。

参数:
gc - 用于构造新 FrameGraphicsConfiguration;如果 gcnull,则使用系统默认的 GraphicsConfiguration
抛出:
IllegalArgumentException - 如果 gc 不是来自屏幕设备。GraphicsEnvironment.isHeadless() 返回 true 时总是抛出此异常。
从以下版本开始:
1.3
另请参见:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()

JFrame

public JFrame(String title)
       throws HeadlessException
创建一个新的、初始不可见的、具有指定标题的 Frame

此构造方法将组件的 locale 属性设置为 JComponent.getDefaultLocale 所返回的值。

参数:
title - 该窗体的标题
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
另请参见:
GraphicsEnvironment.isHeadless(), Component.setSize(int, int), Component.setVisible(boolean), JComponent.getDefaultLocale()

JFrame

public JFrame(String title,
              GraphicsConfiguration gc)
创建一个具有指定标题和指定屏幕设备的 GraphicsConfigurationJFrame

此构造方法将组件的 locale 属性设置为 JComponent.getDefaultLocale 所返回的值。

参数:
title - 要显示在窗体边框中的标题。将 null 值视为空字符串 ""。
gc - 用于构造新 JFrameGraphicsConfiguration;如果 gcnull,则使用系统默认的 GraphicsConfiguration
抛出:
IllegalArgumentException - 如果 gc 不是来自屏幕设备。GraphicsEnvironment.isHeadless() 返回 true 时总是抛出此异常。
从以下版本开始:
1.3
另请参见:
GraphicsEnvironment.isHeadless(), JComponent.getDefaultLocale()
方法详细信息

frameInit

protected void frameInit()
由构造方法调用,以适当地初始化 JFrame