public class Frame extends Window implements MenuContainer
Frame是一个标题和边框的顶级窗口。
框架的大小包括为边框指定的任何区域。 可以使用getInsets方法获得边界区域的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 WindowEvent , Window.addWindowListener(java.awt.event.WindowListener) , Serialized Form
| Modifier and Type | Class and Description |
|---|---|
protected class |
Frame.AccessibleAWTFrame
该类实现对
Frame类的辅助功能支持。
|
Window.AccessibleAWTWindow, Window.TypeContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy| Modifier and Type | Field and Description |
|---|---|
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取代。
|
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description |
|---|
Frame()
构造的新实例
Frame初始时不可见。
|
Frame(GraphicsConfiguration gc)
构造一个新的,最初看不见的
Frame与指定的
GraphicsConfiguration 。
|
Frame(String title)
构造一个新的,最初不可见的
Frame对象,其中包含指定的标题。
|
Frame(String title, GraphicsConfiguration gc)
构造一个新的,最初不可见的
Frame对象,具有指定的标题和一个
GraphicsConfiguration 。
|
| Modifier and Type | Method and Description |
|---|---|
void |
addNotify()
通过将此框架连接到本机屏幕资源来使此框架可以显示。
|
AccessibleContext |
getAccessibleContext()
获取与此Frame相关联的AccessibleContext。
|
int |
getCursorType()
已弃用
从JDK 1.1版开始,由
Component.getCursor() 。
|
int |
getExtendedState()
获取此框架的状态。
|
static Frame[] |
getFrames()
返回
Frame创建的所有
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)
禁用或启用此框架的装饰。
|
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, toFrontadd, 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, validateTreeaction, 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, 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, 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, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetFont, postEvent@Deprecated public static final int DEFAULT_CURSOR
Cursor.DEFAULT_CURSOR 。
@Deprecated public static final int CROSSHAIR_CURSOR
Cursor.CROSSHAIR_CURSOR 。
@Deprecated public static final int TEXT_CURSOR
Cursor.TEXT_CURSOR 。
@Deprecated public static final int WAIT_CURSOR
Cursor.WAIT_CURSOR 。
@Deprecated public static final int SW_RESIZE_CURSOR
Cursor.SW_RESIZE_CURSOR 。
@Deprecated public static final int SE_RESIZE_CURSOR
Cursor.SE_RESIZE_CURSOR 。
@Deprecated public static final int NW_RESIZE_CURSOR
Cursor.NW_RESIZE_CURSOR 。
@Deprecated public static final int NE_RESIZE_CURSOR
Cursor.NE_RESIZE_CURSOR 。
@Deprecated public static final int N_RESIZE_CURSOR
Cursor.N_RESIZE_CURSOR 。
@Deprecated public static final int S_RESIZE_CURSOR
Cursor.S_RESIZE_CURSOR 。
@Deprecated public static final int W_RESIZE_CURSOR
Cursor.W_RESIZE_CURSOR 。
@Deprecated public static final int E_RESIZE_CURSOR
Cursor.E_RESIZE_CURSOR 。
@Deprecated public static final int HAND_CURSOR
Cursor.HAND_CURSOR 。
@Deprecated public static final int MOVE_CURSOR
Cursor.MOVE_CURSOR 。
public static final int NORMAL
public static final int ICONIFIED
public static final int MAXIMIZED_HORIZ
setExtendedState(int) ,
getExtendedState() ,
Constant Field Values
public static final int MAXIMIZED_VERT
setExtendedState(int) ,
getExtendedState() ,
Constant Field Values
public static final int MAXIMIZED_BOTH
MAXIMIZED_VERT | MAXIMIZED_HORIZ 。
请注意,正确的框架测试是完全最大化的
(state & Frame.MAXIMIZED_BOTH) == Frame.MAXIMIZED_BOTH
要测试的是帧的最大化在某些方向使用
(state & Frame.MAXIMIZED_BOTH) != 0
setExtendedState(int) ,
getExtendedState() ,
Constant Field Values
public Frame()
throws HeadlessException
Frame初始时不可见。
Frame的标题为空。
HeadlessException - 当时
GraphicsEnvironment.isHeadless()返回
true
GraphicsEnvironment.isHeadless() ,
Component.setSize(int, int) ,
Component.setVisible(boolean)
public Frame(GraphicsConfiguration gc)
Frame与指定的
GraphicsConfiguration 。
gc - 目标屏幕设备的GraphicsConfiguration 。
如果gc为null ,系统默认为GraphicsConfiguration 。
IllegalArgumentException - 如果
gc不是从屏幕设备。
HeadlessException - 当时
GraphicsEnvironment.isHeadless()返回
true
GraphicsEnvironment.isHeadless()
public Frame(String title) throws HeadlessException
Frame对象与指定的标题。
title - 要显示在框架边框中的标题。
一个null值被视为空字符串“”。
HeadlessException - 当时
GraphicsEnvironment.isHeadless()返回
true
GraphicsEnvironment.isHeadless() ,
Component.setSize(int, int) ,
Component.setVisible(boolean) ,
GraphicsConfiguration.getBounds()
public Frame(String title, GraphicsConfiguration gc)
Frame对象,具有指定的标题和
GraphicsConfiguration 。
title - 要显示在框架边框中的标题。
一个null值被视为空字符串“”。
gc - 目标屏幕设备的GraphicsConfiguration 。
如果gc是null ,则假定系统默认值为GraphicsConfiguration 。
IllegalArgumentException - 如果
gc不是来自屏幕设备。
HeadlessException - 当
GraphicsEnvironment.isHeadless()返回
true
GraphicsEnvironment.isHeadless() ,
Component.setSize(int, int) ,
Component.setVisible(boolean) ,
GraphicsConfiguration.getBounds()
public void addNotify()
addNotify在类别
Window
Component.isDisplayable() ,
removeNotify()
public String getTitle()
setTitle(String)
public void setTitle(String title)
title - 要在框架边框中显示的标题。
一个null值被视为空字符串“”。
getTitle()
public Image getIconImage()
此方法已过时,仅用于向后兼容。 改用Window.getIconImages() 。
如果将多个图像的列表指定为Window的图标,则此方法将返回列表的第一个项目。
null如果此框架没有图标图像。
setIconImage(Image) ,
Window.getIconImages() ,
Window.setIconImages(java.util.List<? extends java.awt.Image>)
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()
public MenuBar getMenuBar()
null如果此框架没有菜单栏。
setMenuBar(MenuBar)
public void setMenuBar(MenuBar mb)
mb - 设置菜单栏。
如果此参数为null则此框架上的任何现有菜单栏都将被删除。
getMenuBar()
public boolean isResizable()
true如果用户可以调整此框架大小;
false否则。
setResizable(boolean)
public void setResizable(boolean resizable)
resizable - true如果此框架可调整大小;
false否则。
isResizable()
public void setState(int state)
在旧版本的JDK中,帧状态只能是NORMAL或ICONIFIED。 由于JDK 1.4支持的帧状态集合被扩展,并且帧状态被表示为按位掩码。
为了与早期开发的应用程序兼容,此方法仅接受Frame.NORMAL和Frame.ICONIFIED 。 帧的标志状态只有改变,帧状态的其他方面不受此方法的影响。 如果传递给该方法的状态既不是Frame.NORMAL也不是Frame.NORMAL , Frame.ICONIFIED该方法完全不执行任何操作。
请注意,如果给定平台不支持该状态,则不会更改getState()方法的状态和返回值。 应用程序可以通过Toolkit.isFrameStateSupported(int)方法确定是否支持特定状态。
如果框架当前在屏幕上可见 ( Window.isShowing()方法返回true ),开发人员应检查通过WindowEvent收到的WindowEvent的88381256089109方法的返回值,以确定状态实际上已更改。
如果框架在屏幕上不可见 ,则可能会生成事件,也可能不会生成事件。 在这种情况下,开发人员可以假定在该方法返回后状态立即改变。 之后,当调用setVisible(true)方法时,框架将尝试应用此状态。 在这种情况下也不能保证收到任何WindowEvent.WINDOW_STATE_CHANGED事件。
state -
Frame.NORMAL或
Frame.ICONIFIED 。
setExtendedState(int) ,
Window.addWindowStateListener(java.awt.event.WindowStateListener)
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的WindowEvent.getNewState()方法的返回值,以确定状态实际已更改。
如果框架在屏幕上不可见 ,则可能会生成事件,也可能不会生成事件。 在这种情况下,开发人员可以假定在该方法返回后状态立即改变。 之后,当调用setVisible(true)方法时,框架将尝试应用此状态。 在这种情况下也不能保证收到任何WindowEvent.WINDOW_STATE_CHANGED事件。
state - 帧状态常数的按位掩码
Window.addWindowStateListener(java.awt.event.WindowStateListener)
public int getState()
在旧版本的JDK中,帧状态只能是NORMAL或ICONIFIED。 由于JDK 1.4支持的帧状态集合被扩展,并且帧状态被表示为按位掩码。
为了与旧程序兼容,该方法仍然返回Frame.NORMAL和Frame.ICONIFIED但它只报告帧的标志状态,帧状态的其他方面不会通过此方法报告。
Frame.NORMAL或
Frame.ICONIFIED 。
setState(int) ,
getExtendedState()
public int getExtendedState()
NORMAL ICONIFIED MAXIMIZED_HORIZ MAXIMIZED_VERT MAXIMIZED_BOTH MAXIMIZED_HORIZ和MAXIMIZED_VERT 。 setExtendedState(int)
public void setMaximizedBounds(Rectangle bounds)
当帧处于最大化状态时,系统提供一些默认边界。 该方法允许覆盖那些系统提供的值中的一些或全部。
如果bounds为null ,则接受系统提供的边界。 如果非null可以通过将要从系统接受的字段设置为Integer.MAX_VALUE来接受其他系统提供的值。
注意,给定的最大化边界用作本机系统的提示,因为底层平台可能不支持设置最大化窗口的位置和/或大小。 如果是这种情况,提供的值不会影响最大化状态下的帧的外观。
bounds - 最大化状态的界限
getMaximizedBounds()
public Rectangle getMaximizedBounds()
Integer.MAX_VALUE以指示必须使用该字段的系统提供的值。
null
setMaximizedBounds(Rectangle)
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
isUndecorated() ,
Component.isDisplayable() ,
Window.getShape() ,
Window.getOpacity() ,
Window.getBackground() ,
JFrame.setDefaultLookAndFeelDecorated(boolean)
public boolean isUndecorated()
true如果框架未装饰;
false否则。
setUndecorated(boolean)
public void setOpacity(float opacity)
不透明度值在[0..1]的范围内。 请注意,设置不透明度级别为0可能会禁用此窗口上的鼠标事件处理。 这是依赖于平台的行为。
为了设置不透明度值小于1.0f,必须满足以下1.0f :
TRANSLUCENT半透明度必须由底层系统支持 setUndecorated(boolean)和Dialog.setUndecorated(boolean) ) GraphicsDevice.setFullScreenWindow(Window) ) 如果请求的不透明度值小于1.0f ,并且不符合上述任何条件,窗口不透明度将不会更改,并且将抛出IllegalComponentStateException 。
单个像素的半透明度也可以通过其颜色的α分量(参见Window.setBackground(Color) )和该窗口的当前形状(参见Window.setShape(Shape) )来实现。
public void setShape(Shape 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 。
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()
public void remove(MenuComponent m)
remove在界面
MenuContainer
remove在
Component
m - 要删除的菜单组件。
如果m是null ,那么不采取任何行动
Component.add(PopupMenu)
public void removeNotify()
removeNotify在
Window
Component.isDisplayable() ,
addNotify()
protected String paramString()
Frame的状态的字符串。
该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。
返回的字符串可能为空,但可能不是null 。
paramString在类别
Container
@Deprecated public void setCursor(int cursorType)
Component.setCursor(Cursor)替换。
@Deprecated public int getCursorType()
Component.getCursor() 。
public static Frame[] getFrames()
Frame创建的所有Frame的数组。
如果从小程序调用,该数组仅包含该applet可Frame的Frame。
警告:此方法可能会返回系统创建的帧,例如Swing使用的共享隐藏帧。 应用程序不应假定这些帧的存在,也不应该应用大约假定这些帧,如组件的位置,任何LayoutManager或序列化。
注意 :要获取所有无主窗口的列表,包括所有权Dialog (版本1.6中介绍),请使用Window.getOwnerlessWindows 。
Window.getWindows() ,
Window.getOwnerlessWindows()
public AccessibleContext getAccessibleContext()
getAccessibleContext在界面
Accessible
getAccessibleContext在类别
Window
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.