- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- All Implemented Interfaces:
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
- 已知直接子类:
-
JFrame
public class Frame extends Window implements MenuContainer
AFrame
是具有标题和边框的顶级窗口。框架的大小包括为边框指定的任何区域。 可以使用
getInsets
方法获得边界区域的尺寸,但是由于这些尺寸与平台相关,因此无法通过调用pack
或show
显示帧,才能获得有效的插入值。 由于边框区域被包含在框架的整体尺寸中,边界有效地掩盖了框架的一部分,将可用于渲染和/或显示子组件的区域限制在左上角位置为(insets.left, insets.top)
,以及具有width - (insets.left + insets.right)
的大小,由height - (insets.top + insets.bottom)
。帧的默认布局为
BorderLayout
。一个框架可能有自己的装饰(即
Frame
和Titlebar
)关闭了setUndecorated
。 这只能在框架不是displayable
时完成 。在多屏幕环境中,您可以在其他屏幕设备上创建一个
Frame
,通过构建Frame
与Frame(GraphicsConfiguration)
或Frame(String title, GraphicsConfiguration)
。GraphicsConfiguration
对象是目标屏幕设备的GraphicsConfiguration
对象之一。在桌面区域可跨越多个物理屏幕设备的虚拟设备多屏幕环境中,所有配置的边界都相对于虚拟坐标系。 虚拟坐标系的原点位于主物理屏幕的左上角。 根据虚拟设备中主屏幕的位置,可以使用负坐标,如下图所示。
在这样的环境中,当调用
setLocation
,必须将虚拟坐标传递给此方法。 同样,调用getLocationOnScreen
上Frame
返回虚拟设备坐标。 调用getBounds
一个方法GraphicsConfiguration
找到它的起源在虚拟坐标系统相同。下面的代码设置的位置
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
s:-
WINDOW_OPENED
-
WINDOW_CLOSING
:
如果程序在处理此事件时没有明确隐藏或处理窗口,则窗口关闭操作将被取消。 -
WINDOW_CLOSED
-
WINDOW_ICONIFIED
-
WINDOW_DEICONIFIED
-
WINDOW_ACTIVATED
-
WINDOW_DEACTIVATED
-
WINDOW_GAINED_FOCUS
-
WINDOW_LOST_FOCUS
-
WINDOW_STATE_CHANGED
- 从以下版本开始:
- 1.0
- 另请参见:
-
WindowEvent
,Window.addWindowListener(java.awt.event.WindowListener)
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected class
Frame.AccessibleAWTFrame
该类为Frame
类实现可访问性支持。-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.Type
-
-
Field Summary
Fields Modifier and Type Field 描述 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
框架处于“正常”状态。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
。-
Fields inherited from class java.awt.Component
accessibleContext, 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
-
-
构造方法摘要
构造方法 Constructor 描述 Frame()
构造最初不可见的新实例Frame
。Frame(GraphicsConfiguration gc)
构造一个新的,初始看不见的Frame
与指定的GraphicsConfiguration
。Frame(String title)
构造一个新的,最初无形的Frame
具有指定标题的对象。Frame(String title, GraphicsConfiguration gc)
构造一个新的,最初看不到的Frame
对象与指定的标题和一个GraphicsConfiguration
。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 void
addNotify()
通过将此框架连接到本机屏幕资源来使此框架可以显示。AccessibleContext
getAccessibleContext()
获取与此Frame相关联的AccessibleContext。int
getCursorType()
已过时。从JDK 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
setBackground(Color bgColor)
设置此窗口的背景颜色。void
setCursor(int cursorType)
已过时。从JDK 1.1版开始,替换为Component.setCursor(Cursor)
。void
setExtendedState(int state)
设置此帧的状态。void
setIconImage(Image image)
将要显示的图像设置为此窗口的图标。void
setMaximizedBounds(Rectangle bounds)
设置此框架的最大化边界。void
setMenuBar(MenuBar mb)
将此框架的菜单栏设置为指定的菜单栏。void
setOpacity(float opacity)
设置窗口的不透明度。void
setResizable(boolean resizable)
设置该框架是否可以由用户调整大小。void
setShape(Shape shape)
设置窗口的形状。void
setState(int state)
设置此框架的状态(已过时)。void
setTitle(String title)
将此框架的标题设置为指定的字符串。void
setUndecorated(boolean undecorated)
禁用或启用此框架的装饰。-
Methods inherited from class 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class 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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
-
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
-
-
-
-
字段详细信息
-
DEFAULT_CURSOR
@Deprecated public static final int DEFAULT_CURSOR
已过时。 替换为Cursor.DEFAULT_CURSOR
。- 另请参见:
- Constant Field Values
-
CROSSHAIR_CURSOR
@Deprecated public static final int CROSSHAIR_CURSOR
已过时。 替换为Cursor.CROSSHAIR_CURSOR
。- 另请参见:
- Constant Field Values
-
TEXT_CURSOR
@Deprecated public static final int TEXT_CURSOR
已过时。 替换为Cursor.TEXT_CURSOR
。- 另请参见:
- Constant Field Values
-
WAIT_CURSOR
@Deprecated public static final int WAIT_CURSOR
已过时。 替换为Cursor.WAIT_CURSOR
。- 另请参见:
- Constant Field Values
-
SW_RESIZE_CURSOR
@Deprecated public static final int SW_RESIZE_CURSOR
已过时。 替换为Cursor.SW_RESIZE_CURSOR
。- 另请参见:
- Constant Field Values
-
SE_RESIZE_CURSOR
@Deprecated public static final int SE_RESIZE_CURSOR
已过时。 替换为Cursor.SE_RESIZE_CURSOR
。- 另请参见:
- Constant Field Values
-
NW_RESIZE_CURSOR
@Deprecated public static final int NW_RESIZE_CURSOR
已过时。 替换为Cursor.NW_RESIZE_CURSOR
。- 另请参见:
- Constant Field Values
-
NE_RESIZE_CURSOR
@Deprecated public static final int NE_RESIZE_CURSOR
已过时。 取代Cursor.NE_RESIZE_CURSOR
。- 另请参见:
- Constant Field Values
-
N_RESIZE_CURSOR
@Deprecated public static final int N_RESIZE_CURSOR
已过时。 替换为Cursor.N_RESIZE_CURSOR
。- 另请参见:
- Constant Field Values
-
S_RESIZE_CURSOR
@Deprecated public static final int S_RESIZE_CURSOR
已过时。 替换为Cursor.S_RESIZE_CURSOR
。- 另请参见:
- Constant Field Values
-
W_RESIZE_CURSOR
@Deprecated public static final int W_RESIZE_CURSOR
已过时。 换成Cursor.W_RESIZE_CURSOR
。- 另请参见:
- Constant Field Values
-
E_RESIZE_CURSOR
@Deprecated public static final int E_RESIZE_CURSOR
已过时。 替换为Cursor.E_RESIZE_CURSOR
。- 另请参见:
- Constant Field Values
-
HAND_CURSOR
@Deprecated public static final int HAND_CURSOR
已过时。 替换为Cursor.HAND_CURSOR
。- 另请参见:
- Constant Field Values
-
MOVE_CURSOR
@Deprecated public static final int MOVE_CURSOR
已过时。 替换为Cursor.MOVE_CURSOR
。- 另请参见:
- Constant Field Values
-
NORMAL
public static final int NORMAL
框架处于“正常”状态。 该符号常数命名所有状态位清零的帧状态。
-
ICONIFIED
public static final int ICONIFIED
该状态位指示帧被图标化。
-
MAXIMIZED_HORIZ
public static final int MAXIMIZED_HORIZ
该状态位指示帧在水平方向上最大化。- 从以下版本开始:
- 1.4
- 另请参见:
-
setExtendedState(int)
,getExtendedState()
, Constant Field Values
-
MAXIMIZED_VERT
public static final int MAXIMIZED_VERT
该状态位指示帧在垂直方向上最大化。- 从以下版本开始:
- 1.4
- 另请参见:
-
setExtendedState(int)
,getExtendedState()
, Constant Field Values
-
MAXIMIZED_BOTH
public static final int MAXIMIZED_BOTH
该状态位掩码表示帧完全最大化(即水平和垂直)。 这只是一个方便的别名MAXIMIZED_VERT | MAXIMIZED_HORIZ
。请注意,正确的框架测试是完全最大化的
(state & Frame.MAXIMIZED_BOTH) == Frame.MAXIMIZED_BOTH
要测试的是帧的最大化在某些方向使用
(state & Frame.MAXIMIZED_BOTH) != 0
- 从以下版本开始:
- 1.4
- 另请参见:
-
setExtendedState(int)
,getExtendedState()
, Constant Field Values
-
-
构造方法详细信息
-
Frame
public Frame() throws HeadlessException
构造最初不可见的新实例Frame
。Frame
的标题是空的。- 异常
-
HeadlessException
- 当GraphicsEnvironment.isHeadless()
返回true
- 另请参见:
-
GraphicsEnvironment.isHeadless()
,Component.setSize(int, int)
,Component.setVisible(boolean)
-
Frame
public Frame(GraphicsConfiguration gc)
构造一个新的,最初看不到的Frame
与指定的GraphicsConfiguration
。- 参数
-
gc
- 目标屏幕设备的GraphicsConfiguration
。 如果gc
为null
,则假定系统默认为GraphicsConfiguration
。 - 异常
-
IllegalArgumentException
- 如果gc
不是来自屏幕设备。 -
HeadlessException
- 当GraphicsEnvironment.isHeadless()
返回true
- 从以下版本开始:
- 1.3
- 另请参见:
-
GraphicsEnvironment.isHeadless()
-
Frame
public Frame(String title) throws HeadlessException
构造一个新的,最初不可见的Frame
对象与指定的标题。- 参数
-
title
- 要在框架边框中显示的标题。 Anull
值被视为空字符串“”。 - 异常
-
HeadlessException
- 当GraphicsEnvironment.isHeadless()
返回true
- 另请参见:
-
GraphicsEnvironment.isHeadless()
,Component.setSize(int, int)
,Component.setVisible(boolean)
,GraphicsConfiguration.getBounds()
-
Frame
public Frame(String title, GraphicsConfiguration gc)
构造一个新的,最初看不见的Frame
具有指定标题的对象和一个GraphicsConfiguration
。- 参数
-
title
- 要在框架边框中显示的标题。 Anull
值被视为空字符串“”。 -
gc
- 目标屏幕设备的GraphicsConfiguration
。 如果gc
为null
,则假定系统默认为GraphicsConfiguration
。 - 异常
-
IllegalArgumentException
- 如果gc
不是来自屏幕设备。 -
HeadlessException
- 当GraphicsEnvironment.isHeadless()
返回true
- 从以下版本开始:
- 1.3
- 另请参见:
-
GraphicsEnvironment.isHeadless()
,Component.setSize(int, int)
,Component.setVisible(boolean)
,GraphicsConfiguration.getBounds()
-
-
方法详细信息
-
addNotify
public void addNotify()
通过将此框架连接到本机屏幕资源来使此框架可以显示。 使框架可显示将导致其任何一个孩子被显示。 该方法由工具包内部调用,不应由程序直接调用。- 重写:
-
addNotify
在Window
- 另请参见:
-
Component.isDisplayable()
,removeNotify()
-
getTitle
public String getTitle()
获取框架的标题。 标题显示在框架的边框中。- 结果
- 此框架的标题或空字符串(“”),如果此框架没有标题。
- 另请参见:
-
setTitle(String)
-
setTitle
public void setTitle(String title)
将此框架的标题设置为指定的字符串。- 参数
-
title
- 要显示在框架边框中的标题。 Anull
值被视为空字符串“”。 - 另请参见:
-
getTitle()
-
getIconImage
public Image getIconImage()
返回要显示的图像作为此框架的图标。此方法已过时,仅用于向后兼容。 改用
Window.getIconImages()
。如果将多个图像的列表指定为Window的图标,则此方法将返回列表的第一个项目。
- 结果
-
此框架的图标图像,如果此框架没有图标图像,
null
。 - 另请参见:
-
setIconImage(Image)
,Window.getIconImages()
,Window.setIconImages(java.util.List<? extends java.awt.Image>)
-
setIconImage
public void setIconImage(Image image)
将要显示的图像设置为此窗口的图标。可以使用此方法代替
setIconImages()
将单个图像指定为窗口的图标。以下声明:
setIconImage(image);
相当于:ArrayList<Image> imageList = new ArrayList<Image>(); imageList.add(image); setIconImages(imageList);
注意:根据上下文(例如窗口装饰,窗口列表,任务栏等),本机窗口系统可以使用不同尺寸的不同图像来表示窗口。 他们也可以仅使用单个图像进行所有上下文或根本没有图像。
- 重写:
-
setIconImage
在Window
- 参数
-
image
- 要显示的图标图像。 - 另请参见:
-
Window.setIconImages(java.util.List<? extends java.awt.Image>)
,Window.getIconImages()
-
getMenuBar
public MenuBar getMenuBar()
获取此框架的菜单栏。- 结果
-
此框架的菜单栏,或
null
如果此框架没有菜单栏。 - 另请参见:
-
setMenuBar(MenuBar)
-
setMenuBar
public void setMenuBar(MenuBar mb)
将此框架的菜单栏设置为指定的菜单栏。- 参数
-
mb
- 正在设置菜单栏。 如果此参数为null
则此框架上的任何现有菜单栏都将被删除。 - 另请参见:
-
getMenuBar()
-
isResizable
public boolean isResizable()
指示该框架是否可由用户调整大小。 默认情况下,所有帧最初都可调整大小。- 结果
-
true
如果用户可以调整此框架大小; 否则为false
。 - 另请参见:
-
setResizable(boolean)
-
setResizable
public void setResizable(boolean resizable)
设置该框架是否可以由用户调整大小。- 参数
-
resizable
-true
如果此框架可调整大小; 否则为false
。 - 另请参见:
-
isResizable()
-
setState
public void setState(int state)
设置此框架的状态(已过时)。在旧版本的JDK中,帧状态只能是NORMAL或ICONIFIED。 由于JDK 1.4支持的帧状态集合被扩展,并且帧状态被表示为按位掩码。
为了与早期开发的应用程序兼容,此方法仅接受
Frame.NORMAL
和Frame.ICONIFIED
。 帧的标志状态只有改变,帧状态的其他方面不受此方法的影响。 如果传递给该方法的状态既不是Frame.NORMAL
也不是Frame.ICONIFIED
该方法根本不执行任何操作。请注意,如果给定平台不支持该状态,则
getState()
方法的状态和返回值都不会更改。 应用程序可以通过Toolkit.isFrameStateSupported(int)
方法确定是否支持特定状态。如果框架当前在屏幕上可见 (
Window.isShowing()
方法返回true
),则开发人员应检查通过WindowEvent
收到的WindowEvent的WindowEvent.getNewState()
方法的返回值,以确定状态实际已更改。如果框架在屏幕上不可见 ,则可能会生成事件,也可能不会生成事件。 在这种情况下,开发人员可以假定在该方法返回后状态立即改变。 稍后,当调用
setVisible(true)
方法时,框架将尝试应用此状态。 在这种情况下也不保证接收WindowEvent.WINDOW_STATE_CHANGED
事件。- 参数
-
state
-Frame.NORMAL
或Frame.ICONIFIED
。 - 另请参见:
-
setExtendedState(int)
,Window.addWindowStateListener(java.awt.event.WindowStateListener)
-
setExtendedState
public void setExtendedState(int state)
设置此帧的状态。 状态表示为按位掩码。-
NORMAL
表示没有设置状态位。 -
ICONIFIED
-
MAXIMIZED_HORIZ
-
MAXIMIZED_VERT
-
MAXIMIZED_BOTH
连接MAXIMIZED_HORIZ
和MAXIMIZED_VERT
。
请注意,如果给定平台不支持该状态,则
getExtendedState()
方法的状态和返回值都不会更改。 应用程序可以通过Toolkit.isFrameStateSupported(int)
方法确定是否支持特定状态。如果框架当前在屏幕上可见 (
Window.isShowing()
方法返回true
),开发人员应检查通过WindowEvent
收到的WindowEvent的270479818402752方法的返回值,以确定状态实际已更改。如果框架在屏幕上不可见 ,则可能会生成事件,也可能不会生成事件。 在这种情况下,开发人员可以假定在该方法返回后状态立即改变。 之后,当调用
setVisible(true)
方法时,框架将尝试应用此状态。 在这种情况下也不能保证收到任何WindowEvent.WINDOW_STATE_CHANGED
事件。- 参数
-
state
- 帧状态常数的按位掩码 - 从以下版本开始:
- 1.4
- 另请参见:
-
Window.addWindowStateListener(java.awt.event.WindowStateListener)
-
-
getState
public int getState()
获取此框架的状态(已过时)。在旧版本的JDK中,帧状态只能是NORMAL或ICONIFIED。 由于JDK 1.4支持的帧状态集合被扩展,并且帧状态被表示为按位掩码。
为了与旧程序兼容,该方法仍然返回
Frame.NORMAL
和Frame.ICONIFIED
但它只报告帧的标志状态,此方法不报告帧状态的其他方面。- 结果
-
Frame.NORMAL
或Frame.ICONIFIED
。 - 另请参见:
-
setState(int)
,getExtendedState()
-
getExtendedState
public int getExtendedState()
获取此框架的状态。 状态表示为按位掩码。-
NORMAL
表示没有设置状态位。 -
ICONIFIED
-
MAXIMIZED_HORIZ
-
MAXIMIZED_VERT
-
MAXIMIZED_BOTH
连接MAXIMIZED_HORIZ
和MAXIMIZED_VERT
。
- 结果
- 帧状态常数的按位掩码
- 从以下版本开始:
- 1.4
- 另请参见:
-
setExtendedState(int)
-
-
setMaximizedBounds
public void setMaximizedBounds(Rectangle bounds)
设置此框架的最大化边界。当帧处于最大化状态时,系统提供一些默认边界。 该方法允许覆盖那些系统提供的值中的一些或全部。
如果
bounds
是null
,请接受系统提供的边界。 如果非null
可以通过将要从系统接受的字段设置为Integer.MAX_VALUE
来接受其他系统提供的值。注意,给定的最大化边界用作本机系统的提示,因为底层平台可能不支持设置最大化窗口的位置和/或大小。 如果是这种情况,提供的值不会影响最大化状态下的帧的外观。
- 参数
-
bounds
- 最大化状态的界限 - 从以下版本开始:
- 1.4
- 另请参见:
-
getMaximizedBounds()
-
getMaximizedBounds
public Rectangle getMaximizedBounds()
获得此框架的最大化边界。 某些字段可能包含Integer.MAX_VALUE
以表示必须使用该字段的系统提供的值。- 结果
-
该框架的最大化边界;
可能是
null
- 从以下版本开始:
- 1.4
- 另请参见:
-
setMaximizedBounds(Rectangle)
-
setUndecorated
public void setUndecorated(boolean undecorated)
禁用或启用此框架的装饰。该方法只能在框架不可显示时被调用。 要使这个框架装饰,它必须是不透明的,并且具有默认形状,否则将抛出
IllegalComponentStateException
。 请参阅Window.setShape(java.awt.Shape)
,Window.setOpacity(float)
和Window.setBackground(java.awt.Color)
的细节- 参数
-
undecorated
-true
如果不启用框架装饰;false
如果要启用框架装饰 - 异常
-
IllegalComponentStateException
- 如果框架是可显示的 -
IllegalComponentStateException
- 如果undecorated
是false
,并且此框架没有默认形状 -
IllegalComponentStateException
- 如果undecorated
是false
,并且此帧不透明度小于1.0f
-
IllegalComponentStateException
- 如果undecorated
是false
,并且此框架背景颜色的alpha值小于1.0f
- 从以下版本开始:
- 1.4
- 另请参见:
-
isUndecorated()
,Component.isDisplayable()
,Window.getShape()
,Window.getOpacity()
,Window.getBackground()
,JFrame.setDefaultLookAndFeelDecorated(boolean)
-
isUndecorated
public boolean isUndecorated()
指示此框架是否未装饰。 默认情况下,所有框架最初都是装饰的。- 结果
-
如果框架未装饰,
true
;false
否则。 - 从以下版本开始:
- 1.4
- 另请参见:
-
setUndecorated(boolean)
-
setOpacity
public void setOpacity(float opacity)
设置窗口的不透明度。不透明度值在[0..1]的范围内。 请注意,设置不透明度级别为0可能会禁用此窗口上的鼠标事件处理。 这是依赖于平台的行为。
为了使不透明度值小于
1.0f
必须满足以下条件:- 底层系统必须支持
TRANSLUCENT
半透明度 - 窗口必须未装饰(参见
setUndecorated(boolean)
和Dialog.setUndecorated(boolean)
) - 窗口不能处于全屏模式(参见
GraphicsDevice.setFullScreenWindow(Window)
)
如果请求的不透明度值小于
1.0f
,并且不符合上述任何条件,窗口不透明度将不会更改,并且将抛出IllegalComponentStateException
。单个像素的半透明度也可以通过其颜色的α分量(参见
Window.setBackground(Color)
)和该窗口的当前形状(参见Window.setShape(Shape)
)来实现。 - 底层系统必须支持
-
setShape
public void setShape(Shape shape)
设置窗口的形状。设置形状会切断窗口的某些部分。 只有属于给定的
Shape
的部件保持可见和可点击。 如果形状参数为null
,则此方法将恢复默认形状,使窗口在大多数平台上呈矩形。必须满足以下条件才能设置非空形状:
- 底层系统必须支持
PERPIXEL_TRANSPARENT
半透明度 - 窗口必须未装饰(参见
setUndecorated(boolean)
和Dialog.setUndecorated(boolean)
) - 窗口不能为全屏模式(请参阅
GraphicsDevice.setFullScreenWindow(Window)
)
如果请求的形状不是
null
,并且不符合上述任何条件,则此窗口的形状将不会更改,并且将抛出UnsupportedOperationException
或IllegalComponentStateException
。单个像素的半透明度也可以通过其颜色的α分量(参见
Window.setBackground(Color)
)和不透明度值(参见Window.setOpacity(float)
)来实现。 详见GraphicsDevice.WindowTranslucency
。 - 底层系统必须支持
-
setBackground
public void setBackground(Color bgColor)
设置此窗口的背景颜色。如果窗口系统支持
PERPIXEL_TRANSLUCENT
半透明度,给定背景颜色的alpha分量可能会影响此窗口的操作模式:它指示此窗口是否为不透明(alpha等于1.0f
)或每像素半透明(alpha小于1.0f
)。 如果给定的背景颜色是null
,则该窗口被认为是完全不透明的。必须满足以下条件以启用此窗口的每像素透明度模式:
-
PERPIXEL_TRANSLUCENT
半透明度必须由此窗口所在的图形设备支持 - 窗口必须未装饰(见
setUndecorated(boolean)
和Dialog.setUndecorated(boolean)
) - 窗口不能为全屏模式(请参阅
GraphicsDevice.setFullScreenWindow(Window)
)
如果所请求的背景颜色的alpha分量小于
1.0f
,并且不满足上述任何条件,则此窗口的背景颜色不会改变,给定背景颜色的alpha分量不会影响这个窗口,和UnsupportedOperationException
或IllegalComponentStateException
将被抛出。当窗口是每像素半透明时,绘图子系统遵循每个像素的alpha值。 如果使用等于零的alpha颜色成分绘制像素,则它将变得视觉上透明。 如果像素的alpha等于1.0f,则像素完全不透明。 alpha颜色分量的中间值使像素半透明。 在此模式下,窗口的背景绘制为给定背景颜色的alpha值。 如果此方法的参数的alpha值等于
0
,则完全不绘制背景。给定像素的半透明度的实际水平也取决于窗口不透明度(见
Window.setOpacity(float)
)以及该窗口的当前形状(见Window.setShape(Shape)
)。请注意,绘制Alpha值为
0
的像素可能会禁用此像素上的鼠标事件处理。 这是依赖于平台的行为。 为了确保鼠标事件不被分派到特定的像素,像素必须从窗口的形状中排除。由于本机平台要求,启用每像素半透明模式可能会改变该窗口的图形配置。
- 重写:
-
setBackground
类Window
- 参数
-
bgColor
- 成为这个窗口的背景颜色的颜色。 - 另请参见:
-
Window.getBackground()
,Window.isOpaque()
,Window.setOpacity(float)
,Window.setShape(Shape)
,isUndecorated()
,Dialog.isUndecorated()
,GraphicsDevice.WindowTranslucency
,GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
,GraphicsConfiguration.isTranslucencyCapable()
-
-
remove
public void remove(MenuComponent m)
从此框架中删除指定的菜单栏。- Specified by:
-
remove
接口MenuContainer
- 重写:
-
remove
在Component
- 参数
-
m
- 要删除的菜单组件。 如果m
为null
,则不采取任何措施 - 另请参见:
-
Component.add(PopupMenu)
-
removeNotify
public void removeNotify()
通过删除其与其本机屏幕资源的连接,使此框架不可显示。 使框架不可显示将使其任何一个孩子被制成不可显示的。 该方法在内部被工具包调用,不应该被程序直接调用。- 重写:
-
removeNotify
在Window
- 另请参见:
-
Component.isDisplayable()
,addNotify()
-
paramString
protected String paramString()
返回一个表示Frame
状态的字符串。 该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
。- 重写:
-
paramString
在Container
- 结果
- 该帧的参数字符串
-
setCursor
@Deprecated public void setCursor(int cursorType)
已过时。 从JDK 1.1版开始,由Component.setCursor(Cursor)
替代。将此帧的光标设置为指定的类型。- 参数
-
cursorType
- 游标类型
-
getCursorType
@Deprecated public int getCursorType()
已过时。 从JDK 1.1版开始,由Component.getCursor()
替代。- 结果
- 该帧的光标类型
-
getFrames
public static Frame[] getFrames()
返回由此应用程序创建的所有Frame
的数组。 如果从小程序调用,该数组只包含该applet可访问的Frame
。警告:此方法可能会返回系统创建的帧,例如Swing使用的共享隐藏帧。 应用程序不应该假定这些框架的存在,应用程序也不应该假定任何关于这些框架的内容,例如组件位置,
LayoutManager
或序列化。注意 :要获取所有无主窗口的列表,包括无主版的
Dialog
(在版本1.6中引入),请使用Window.getOwnerlessWindows
。- 结果
-
由该应用程序创建的所有
Frame
的阵列 - 从以下版本开始:
- 1.2
- 另请参见:
-
Window.getWindows()
,Window.getOwnerlessWindows()
-
getAccessibleContext
public AccessibleContext getAccessibleContext()
获取与此Frame相关联的AccessibleContext。 对于框架,AccessibleContext采用AccessibleAWTFrame的形式。 如有必要,将创建一个新的AccessibleAWTFrame实例。- Specified by:
-
getAccessibleContext
在接口Accessible
- 重写:
-
getAccessibleContext
在Window
- 结果
- 作为此框架的AccessibleContext的AccessibleAWTFrame
- 从以下版本开始:
- 1.3
-
-