- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- 实现的所有接口
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
- 已知直接子类:
-
BasicToolBarUI.DragWindow
,Dialog
,Frame
,JWindow
public class Window extends Container implements Accessible
Window
对象是顶级窗口,没有边框且没有菜单栏。 窗口的默认布局是BorderLayout
。窗口必须具有框架,对话框或在构造时定义为其所有者的其他窗口。
在多屏幕环境中,你可以创建一个
Window
通过构建不同的屏幕设备上Window
与Window(Window, GraphicsConfiguration)
。GraphicsConfiguration
对象是目标屏幕设备的GraphicsConfiguration
对象之一。在桌面区域可以跨越多个物理屏幕设备的虚拟设备多屏幕环境中,所有配置的边界都相对于虚拟设备坐标系统。 虚拟坐标系的原点位于主物理屏幕的左上角。 根据虚拟设备中主屏幕的位置,可以使用负坐标,如下图所示。
在这样的环境中,调用
setLocation
,必须将虚拟坐标传递给此方法。 同样,在getLocationOnScreen
上调用getLocationOnScreen
Window
返回虚拟设备坐标。 拨打getBounds
一个方法GraphicsConfiguration
找到它的起源在虚拟坐标系统相同。以下代码将
Window
的位置设置为(10,10)相对于相应GraphicsConfiguration
的物理屏幕的GraphicsConfiguration
。 如果不考虑GraphicsConfiguration
的边界,则Window
位置将相对于虚拟坐标系设置为(10,10),并且将显示在主物理屏幕上,这可能与物理屏幕的物理屏幕不同。指定GraphicsConfiguration
。Window w = new Window(Window owner, GraphicsConfiguration gc); Rectangle bounds = gc.getBounds(); w.setLocation(10 + bounds.x, 10 + bounds.y);
注意:顶级窗口(包括
Window
s,Frame
s和Dialog
s)的位置和大小受桌面窗口管理系统的控制。 拨打setLocation
,setSize
和setBounds
是转发到窗口管理系统的请求(不是指令)。 将尽一切努力履行此类要求。 但是,在某些情况下,窗口管理系统可能会忽略此类请求,或修改所请求的几何图形,以便以更接近桌面设置的方式放置和调整Window
大小。由于本地事件处理的异步特性,结果被返回
getBounds
,getLocation
,getLocationOnScreen
和getSize
,直到最后一个请求已被处理可能不反映屏幕上Window的实际几何结构。 在后续请求的处理期间,当窗口管理系统满足请求时,这些值可能相应地改变。应用程序可以任意设置不可见
Window
的大小和位置,但是当Window
可见时,窗口管理系统可以随后改变其大小和/或位置。 将生成一个或多个ComponentEvent
以指示新几何体。Windows能够生成以下WindowEvent:WindowOpened,WindowClosed,WindowGainedFocus,WindowLostFocus。
- 从以下版本开始:
- 1.0
- 另请参见:
-
WindowEvent
,addWindowListener(java.awt.event.WindowListener)
,BorderLayout
, Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected class
Window.AccessibleAWTWindow
此类实现Window
类的可访问性支持。static class
Window.Type
枚举可用的 窗口类型 。-
嵌套类/接口声明在类 java.awt.Container
Container.AccessibleAWTContainer
-
-
字段汇总
-
声明的属性在类 java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 弃用的方法 变量和类型 方法 描述 void
addNotify()
通过创建与其本机屏幕资源的连接,使此窗口可显示。void
addPropertyChangeListener(PropertyChangeListener listener)
将PropertyChangeListener添加到侦听器列表。void
addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
将PropertyChangeListener添加到特定属性的侦听器列表中。void
addWindowFocusListener(WindowFocusListener l)
添加指定的窗口焦点侦听器以从此窗口接收窗口事件。void
addWindowListener(WindowListener l)
添加指定的窗口侦听器以从此窗口接收窗口事件。void
addWindowStateListener(WindowStateListener l)
添加指定的窗口状态侦听器以从此窗口接收窗口事件。void
applyResourceBundle(String rbName)
已过时。截至J2SE 1.4,由Component.applyComponentOrientation
取代。void
applyResourceBundle(ResourceBundle rb)
已过时。截至J2SE 1.4,由Component.applyComponentOrientation
取代。void
createBufferStrategy(int numBuffers)
为此组件创建多缓冲的新策略。void
createBufferStrategy(int numBuffers, BufferCapabilities caps)
使用所需的缓冲区功能为此组件创建多缓冲的新策略。void
dispose()
释放此Window
及其子组件及其所有子组件使用的所有本机屏幕资源。AccessibleContext
getAccessibleContext()
获取与此Window关联的AccessibleContext。Color
getBackground()
获取此窗口的背景颜色。BufferStrategy
getBufferStrategy()
返回此组件使用的BufferStrategy
。boolean
getFocusableWindowState()
如果此窗口满足isFocusableWindow
列出的其他要求,则返回此窗口是否可以成为焦点窗口。Container
getFocusCycleRootAncestor()
始终返回null
因为Windows没有祖先; 它们代表组件层次结构的顶部。Component
getFocusOwner()
如果此窗口被聚焦,则返回此窗口的子Component,该窗口具有焦点; 否则返回null。Set<AWTKeyStroke>
getFocusTraversalKeys(int id)
获取此Window的焦点遍历键。List<Image>
getIconImages()
返回要显示为此窗口图标的图像序列。InputContext
getInputContext()
获取此窗口的输入上下文。<T extends EventListener>
T[]getListeners(类<T> listenerType)
返回当前注册的所有对象的数组FooListener
在这个SWindow
。Locale
getLocale()
如果已设置区域设置,则获取与此窗口关联的Locale
对象。Dialog.ModalExclusionType
getModalExclusionType()
返回此窗口的模态排除类型。Component
getMostRecentFocusOwner()
返回此窗口聚焦时将接收焦点的此窗口的子Component。float
getOpacity()
返回窗口的不透明度。Window[]
getOwnedWindows()
返回一个包含此窗口当前拥有的所有窗口的数组。Window
getOwner()
返回此窗口的所有者。static Window[]
getOwnerlessWindows()
返回此应用程序创建的所有Window
的数组,该数组没有所有者。Shape
getShape()
返回窗口的形状。Toolkit
getToolkit()
返回此框架的工具包。Window.Type
getType()
返回窗口的类型。String
getWarningString()
获取此窗口显示的警告字符串。WindowFocusListener[]
getWindowFocusListeners()
返回在此窗口中注册的所有窗口焦点侦听器的数组。WindowListener[]
getWindowListeners()
返回在此窗口中注册的所有窗口侦听器的数组。static Window[]
getWindows()
返回由此应用程序创建的所有Window
(包括拥有者和无主者)的数组。WindowStateListener[]
getWindowStateListeners()
返回在此窗口中注册的所有窗口状态侦听器的数组。void
hide()
已过时。截至JDK 1.5版,由setVisible(boolean)
取代。boolean
isActive()
返回此Window是否处于活动状态。boolean
isAlwaysOnTop()
返回此窗口是否为始终在顶部的窗口。boolean
isAlwaysOnTopSupported()
返回此窗口是否支持always-on-top模式。boolean
isAutoRequestFocus()
boolean
isFocusableWindow()
返回此Window是否可以成为焦点窗口,即此Window或其任何子组件是否可以成为焦点所有者。boolean
isFocusCycleRoot()
始终返回true
因为所有Windows必须是焦点遍历循环的根。boolean
isFocused()
返回此Window是否已聚焦。boolean
isLocationByPlatform()
如果此窗口在下一次显示此窗口时将显示在本机窗口系统的默认位置,则返回true
。boolean
isOpaque()
指示窗口当前是否不透明。boolean
isShowing()
检查此窗口是否显示在屏幕上。boolean
isValidateRoot()
指示此容器是否为验证根。void
pack()
使此窗口的大小适合其子组件的首选大小和布局。void
paint(Graphics g)
涂抹容器。boolean
postEvent(Event e)
已过时。截至JDK 1.1版由dispatchEvent(AWTEvent)
取代。protected void
processEvent(AWTEvent e)
处理此窗口上的事件。protected void
processWindowEvent(WindowEvent e)
通过将窗口事件分派给任何已注册的WindowListener对象来处理此窗口上发生的窗口事件。protected void
processWindowFocusEvent(WindowEvent e)
通过将窗口焦点事件分派给任何已注册的WindowFocusListener对象来处理此窗口上发生的窗口焦点事件。protected void
processWindowStateEvent(WindowEvent e)
处理在此窗口上发生的窗口状态事件,方法是将它们分派给任何已注册的WindowStateListener
对象。void
removeWindowFocusListener(WindowFocusListener l)
删除指定的窗口焦点侦听器,以便它不再从此窗口接收窗口事件。void
removeWindowListener(WindowListener l)
删除指定的窗口侦听器,以便它不再从此窗口接收窗口事件。void
removeWindowStateListener(WindowStateListener l)
删除指定的窗口状态侦听器,以便它不再从此窗口接收窗口事件。void
reshape(int x, int y, int width, int height)
已过时。截至JDK 1.1版,由setBounds(int, int, int, int)
取代。void
setAlwaysOnTop(boolean alwaysOnTop)
设置此窗口是否应始终位于其他窗口之上。void
setAutoRequestFocus(boolean autoRequestFocus)
void
setBackground(Color bgColor)
设置此窗口的背景颜色。void
setBounds(int x, int y, int width, int height)
移动并调整此组件的大小。void
setBounds(Rectangle r)
移动此组件并调整其大小以符合新的边界矩形r
。void
setCursor(Cursor cursor)
将光标图像设置为指定的光标。void
setFocusableWindowState(boolean focusableWindowState)
设置此窗口是否满足isFocusableWindow
列出的其他要求时,是否可以成为焦点窗口。void
setFocusCycleRoot(boolean focusCycleRoot)
什么都不做因为Windows必须始终是焦点遍历循环的根源。void
setIconImage(Image image)
设置要显示为此窗口图标的图像。void
setIconImages(List<? extends Image> icons)
设置要显示的图像序列作为此窗口的图标。void
setLocation(int x, int y)
将此组件移动到新位置。void
setLocation(Point p)
将此组件移动到新位置。void
setLocationByPlatform(boolean locationByPlatform)
设置此窗口是否应显示在本机窗口系统的默认位置,或者在下次使窗口可见时显示在当前位置(由getLocation
返回)。void
setLocationRelativeTo(Component c)
根据以下方案设置窗口相对于指定组件的位置。void
setMinimumSize(Dimension minimumSize)
将此窗口的最小大小设置为常量值。void
setModalExclusionType(Dialog.ModalExclusionType exclusionType)
指定此窗口的模态排除类型。void
setOpacity(float opacity)
设置窗口的不透明度。void
setShape(Shape shape)
设置窗口的形状。void
setSize(int width, int height)
调整此组件的大小,使其宽度为width
,高度为height
。void
setSize(Dimension d)
调整此组件的大小,使其宽度为d.width
,高度为d.height
。void
setType(Window.Type type)
设置窗口的类型。void
setVisible(boolean b)
显示或隐藏此Window
具体取决于参数b
的值。void
show()
已过时。截至JDK 1.5版,由setVisible(boolean)
取代。void
toBack()
如果此窗口可见,则将此窗口发送到后面,如果它是聚焦或活动窗口,则可能导致它失去焦点或激活。void
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, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, 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, 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, remove, 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
-
-
-
-
构造方法详细信息
-
Window
public Window(Frame owner)
构造一个新的,最初不可见的窗口,其中指定的是Frame
作为其所有者。 除非其所有者在屏幕上显示,否则窗口将无法聚焦。如果存在安全管理器集,则调用它以检查
AWTPermission("showWindowWithoutWarningBanner")
。 如果该检查失败并显示SecurityException
则会创建警告横幅。- 参数
-
owner
-Frame
作为所有者或null
如果此窗口没有所有者 - 异常
-
IllegalArgumentException
- 如果owner
的GraphicsConfiguration
不是来自屏幕设备 -
HeadlessException
- 当GraphicsEnvironment.isHeadless
返回true
- 另请参见:
-
GraphicsEnvironment.isHeadless()
,isShowing()
-
Window
public Window(Window owner)
构造一个新的,最初不可见的窗口,其中指定的是Window
作为其所有者。 除非最近的拥有Frame
或Dialog
显示在屏幕上,否则此窗口将无法聚焦。如果存在安全管理器集,则调用它以检查
AWTPermission("showWindowWithoutWarningBanner")
。 如果该检查失败并显示SecurityException
则会创建警告横幅。- 参数
-
owner
-Window
作为所有者或null
如果此窗口没有所有者 - 异常
-
IllegalArgumentException
- 如果owner
的GraphicsConfiguration
不是来自屏幕设备 -
HeadlessException
- 当GraphicsEnvironment.isHeadless()
返回true
- 从以下版本开始:
- 1.2
- 另请参见:
-
GraphicsEnvironment.isHeadless()
,isShowing()
-
Window
public Window(Window owner, GraphicsConfiguration gc)
使用指定的所有者Window
和屏幕设备的GraphicsConfiguration
构造一个新的,最初不可见的窗口。 除非最近的拥有Frame
或Dialog
显示在屏幕上,否则窗口将无法聚焦。如果存在安全管理器集,则调用它以检查
AWTPermission("showWindowWithoutWarningBanner")
。 如果该检查失败并显示SecurityException
则会创建警告横幅。- 参数
-
owner
- 作为所有者的窗口或null
如果此窗口没有所有者 -
gc
- 目标屏幕设备的GraphicsConfiguration
; 如果gc
是null
,则假定系统默认为GraphicsConfiguration
- 异常
-
IllegalArgumentException
- 如果gc
不是来自屏幕设备 -
HeadlessException
- 当GraphicsEnvironment.isHeadless()
返回true
- 从以下版本开始:
- 1.3
- 另请参见:
-
GraphicsEnvironment.isHeadless()
,GraphicsConfiguration.getBounds()
,isShowing()
-
-
方法详细信息
-
getIconImages
public List<Image> getIconImages()
返回要显示为此窗口图标的图像序列。此方法返回内部存储列表的副本,因此返回对象上的所有操作都不会影响窗口的行为。
- 结果
- 此窗口的图标图像列表的副本,如果此窗口没有图标图像,则为空列表。
- 从以下版本开始:
- 1.6
- 另请参见:
-
setIconImages(java.util.List<? extends java.awt.Image>)
,setIconImage(Image)
-
setIconImages
public void setIconImages(List<? extends Image> icons)
设置要显示的图像序列作为此窗口的图标。 对getIconImages
后续调用将始终返回icons
列表的副本。根据平台功能,将使用一个或多个不同尺寸的图像作为窗口的图标。
icons
列表还可以包含MultiResolutionImage
图像。 取决于屏幕分辨率的合适图像从基础MultiResolutionImage
图像中提取并添加到图标列表,同时从列表中移除基本分辨率图像。icons
扫描icons
列表以获取最合适尺寸的图像。 如果列表包含多个相同大小的图像,则将使用第一个图像。没有指定图标的无主窗口使用platform-default图标。 除非明确覆盖,否则可以从所有者继承拥有窗口的图标。 将图标设置为
null
或空列表将恢复默认行为。注意:本机窗口系统可以使用不同尺寸的不同图像来表示窗口,具体取决于上下文(例如窗口装饰,窗口列表,任务栏等)。 它们也可以仅针对所有上下文使用单个图像,或者根本不使用任何图像。
- 参数
-
icons
- 要显示的图标图像列表。 - 从以下版本开始:
- 1.6
- 另请参见:
-
getIconImages()
,setIconImage(Image)
-
setIconImage
public void setIconImage(Image image)
设置要显示为此窗口图标的图像。可以使用此方法代替
setIconImages()
将单个图像指定为窗口的图标。以下声明:
setIconImage(image);
相当于:ArrayList<Image> imageList = new ArrayList<Image>(); imageList.add(image); setIconImages(imageList);
注意:本机窗口系统可以使用不同尺寸的不同图像来表示窗口,具体取决于上下文(例如窗口装饰,窗口列表,任务栏等)。 它们也可以仅针对所有上下文使用单个图像,或者根本不使用任何图像。
- 参数
-
image
- 要显示的图标图像。 - 从以下版本开始:
- 1.6
- 另请参见:
-
setIconImages(java.util.List<? extends java.awt.Image>)
,getIconImages()
-
addNotify
public void addNotify()
通过创建与其本机屏幕资源的连接,使此窗口可显示。 此方法由工具包在内部调用,不应由程序直接调用。- 重写:
-
addNotify
在课程Container
- 从以下版本开始:
- 1.0
- 另请参见:
-
Component.isDisplayable()
,Container.removeNotify()
-
pack
public void pack()
使此窗口的大小适合其子组件的首选大小和布局。 如果任一尺寸小于上一次调用setMinimumSize
方法所指定的最小尺寸,则窗口的最终宽度和高度将自动放大。如果窗口和/或其所有者尚未显示,则在计算首选大小之前,它们都可显示。 窗口在计算其大小后进行验证。
-
setMinimumSize
public void setMinimumSize(Dimension minimumSize)
将此窗口的最小大小设置为常量值。 对getMinimumSize
后续调用将始终返回此值。 如果当前窗口的大小小于minimumSize
,则窗口大小会自动放大以符合最小大小。如果之后调用
setSize
或setBounds
方法,其宽度或高度小于setMinimumSize
方法指定的宽度或高度,则窗口将自动放大以满足minimumSize
值。minimumSize
值也会影响pack
方法的行为。通过将最小大小参数设置为
null
值来恢复默认行为。如果用户尝试在
minimumSize
值下方调整窗口大小,则可能会限制调整大小操作。 此行为取决于平台。- 重写:
-
setMinimumSize
在课程Component
- 参数
-
minimumSize
- 此窗口的新最小大小 - 从以下版本开始:
- 1.6
- 另请参见:
-
Component.setMinimumSize(java.awt.Dimension)
,Container.getMinimumSize()
,Component.isMinimumSizeSet()
,setSize(Dimension)
,pack()
-
setSize
public void setSize(Dimension d)
调整此组件的大小,使其宽度为d.width
,高度为d.height
。此方法更改与布局相关的信息,因此使组件层次结构无效。
如果其中一个值小于先前调用
setMinimumSize
所指定的最小值,则会自动放大d.width
和d.height
值。该方法更改与几何相关的数据。 因此,本机窗口系统可以忽略这样的请求,或者它可以修改所请求的数据,以便以与桌面设置紧密对应的方式放置和调整
Window
对象的大小。- 重写:
-
setSize
在课程Component
- 参数
-
d
- 指定此组件的新大小的维度 - 从以下版本开始:
- 1.6
- 另请参见:
-
Component.getSize()
,setBounds(int, int, int, int)
,setMinimumSize(java.awt.Dimension)
-
setSize
public void setSize(int width, int height)
调整此组件的大小,使其宽度为width
,高度为height
。此方法更改与布局相关的信息,因此使组件层次结构无效。
如果其中一个值小于先前调用
setMinimumSize
所指定的最小值,则会自动放大width
和height
值。该方法更改与几何相关的数据。 因此,本机窗口系统可以忽略这些请求,或者它可以修改所请求的数据,以便以与桌面设置紧密对应的方式放置和调整
Window
对象的大小。- 重写:
-
setSize
在课程Component
- 参数
-
width
- 此组件的新宽度(以像素为单位) -
height
- 此组件的新高度(以像素为单位) - 从以下版本开始:
- 1.6
- 另请参见:
-
Component.getSize()
,setBounds(int, int, int, int)
,setMinimumSize(java.awt.Dimension)
-
setLocation
public void setLocation(int x, int y)
将此组件移动到新位置。 新位置的左上角由此组件父级坐标空间中的x
和y
参数指定。此方法更改与布局相关的信息,因此使组件层次结构无效。
该方法更改与几何相关的数据。 因此,本机窗口系统可以忽略这样的请求,或者它可以修改所请求的数据,以便以与桌面设置紧密对应的方式放置和调整
Window
对象的大小。- 重写:
-
setLocation
类Component
- 参数
-
x
- 父级坐标空间中新位置左上角的 x坐标 -
y
- 父级坐标空间中新位置左上角的 y坐标 - 另请参见:
-
Component.getLocation()
,Component.setBounds(int, int, int, int)
,Component.invalidate()
-
setLocation
public void setLocation(Point p)
将此组件移动到新位置。 新位置的左上角由点p
指定。 点p
在父坐标空间中给出。此方法更改与布局相关的信息,因此使组件层次结构无效。
该方法更改与几何相关的数据。 因此,本机窗口系统可以忽略这样的请求,或者它可以修改所请求的数据,以便以与桌面设置紧密对应的方式放置和调整
Window
对象的大小。- 重写:
-
setLocation
在课程Component
- 参数
-
p
- 定义新位置左上角的点,在此组件的父级的坐标空间中给出 - 另请参见:
-
Component.getLocation()
,Component.setBounds(int, int, int, int)
,Component.invalidate()
-
reshape
@Deprecated public void reshape(int x, int y, int width, int height)
Deprecated.As of JDK version 1.1, replaced bysetBounds(int, int, int, int)
.重塑此组件的边界矩形。
-
setVisible
public void setVisible(boolean b)
显示或隐藏此Window
具体取决于参数b
的值。如果方法显示窗口,则窗口也会在以下条件下聚焦:
-
Window
符合isFocusableWindow()
方法中列出的要求。 - 该
Window
的autoRequestFocus
属性是的true
值。 - 原生窗口系统允许
Window
集中注意力。
autoRequestFocus
属性的值)有一个例外。 如果窗口是模式对话框,则会不考虑该属性,该对话框会阻止当前聚焦的窗口。在收到WINDOW_GAINED_FOCUS或WINDOW_ACTIVATED事件之前,开发人员绝不能假定窗口是焦点窗口或活动窗口。
- 重写:
-
setVisible
在课程Component
- 参数
-
b
- 如果true
,使Window
可见,否则隐藏Window
。 如果Window
和/或其所有者尚未显示,则两者都可显示。Window
将在可见之前进行验证。 如果Window
已经可见,这将使Window
位于前面。如果
false
,则隐藏此子组件及其所有子组件Window
。 该Window
及其子组件,可取得明显再次到呼叫#setVisible(true)
。 - 另请参见:
-
Component.isDisplayable()
,Component.setVisible(boolean)
,toFront()
,dispose()
,setAutoRequestFocus(boolean)
,isFocusableWindow()
-
-
show
@Deprecated public void show()
Deprecated.As of JDK version 1.5, replaced bysetVisible(boolean)
.使窗口可见。 如果窗口和/或其所有者尚未显示,则两者都可显示。 窗口将在可见之前进行验证。 如果窗口已经可见,则会将窗口置于前面。- 重写:
-
show
在课程Component
- 另请参见:
-
Component.isDisplayable()
,toFront()
-
hide
@Deprecated public void hide()
Deprecated.As of JDK version 1.5, replaced bysetVisible(boolean)
.隐藏此窗口,其子组件及其拥有的所有子组件。 通过调用show
可以再次显示Window及其子组件。
-
dispose
public void dispose()
释放此Window
及其子组件及其所有子组件使用的所有本机屏幕资源。 也就是说,这些Component
的资源将被销毁,它们消耗的任何内存都将被返回给操作系统,并且它们将被标记为不可显示。通过随后调用
pack
或show
重建本机资源,可以再次显示Window
及其子组件。 重新创建的状态Window
及其子组件将等同于这些对象在其中的点的状态Window
被布置(不考虑这些操作之间附加的修改)。注意 :当Java虚拟机(VM)中的最后一个可显示窗口被丢弃时,VM可能会终止。 有关更多信息,请参见AWT Threading Issues 。
- 另请参见:
-
Component.isDisplayable()
,pack()
,show()
-
toFront
public void toFront()
如果此窗口可见,则将此窗口置于前面,并使其成为焦点窗口。将此窗口置于堆叠顺序的顶部,并将其显示在此VM中任何其他Windows的前面。 如果此窗口不可见,则不会执行任何操作。 某些平台不允许拥有其他Windows的Windows出现在这些拥有的Windows之上。 某些平台可能不允许此VM将其Windows置于本机应用程序的窗口或其他VM的Windows之上。 此权限可能取决于此VM中的窗口是否已经集中。 将尽一切努力在堆叠顺序中尽可能高地移动此窗口; 但是,开发人员不应该假设此方法会在任何情况下将此窗口移动到所有其他窗口之上。
在此窗口收到WINDOW_GAINED_FOCUS或WINDOW_ACTIVATED事件之前,开发人员绝不能假定此窗口是焦点窗口或活动窗口。 在最顶层窗口是焦点窗口的平台上,此方法可能会在以下条件下关注此窗口(如果它尚未聚焦):
- 该窗口符合
isFocusableWindow()
方法中列出的要求。 - 窗口的属性
autoRequestFocus
是true
值。 - 本机窗口系统允许窗口聚焦。
如果此方法导致此窗口被聚焦,并且此窗口是框架或对话框,它也将被激活。 如果此窗口是聚焦的,但它不是框架或对话框,则将激活作为此窗口所有者的第一个框架或对话框。
如果此窗口被模态对话框阻止,则阻止对话框将被置于前面并保持在被阻止的窗口上方。
- 该窗口符合
-
toBack
public void toBack()
如果此窗口可见,则将此窗口发送到后面,如果它是聚焦或活动窗口,则可能导致它失去焦点或激活。将此窗口置于堆叠顺序的底部,并将其显示在此VM中的任何其他Windows后面。 如果此窗口不可见,则不会执行任何操作。 某些平台不允许其他Windows拥有的Windows显示在其所有者下方。 将尽一切努力在堆叠顺序中尽可能低地移动此窗口; 但是,开发人员不应该假设此方法会在所有情况下将此窗口移动到所有其他窗口之下。
由于本机窗口系统的变化,无法保证对焦点和活动Windows的更改。 在此窗口收到WINDOW_LOST_FOCUS或WINDOW_DEACTIVATED事件之前,开发人员绝不能假定此窗口不再是焦点窗口或活动窗口。 在最顶层窗口是焦点窗口的平台上,此方法可能会导致此窗口失去焦点。 在这种情况下,此VM中下一个最高的可聚焦窗口将获得焦点。 在堆叠顺序通常不会影响聚焦窗口的平台上,此方法可能会使焦点和活动Windows保持不变。
- 另请参见:
-
toFront()
-
getToolkit
public Toolkit getToolkit()
返回此框架的工具包。- 重写:
-
getToolkit
在课程Component
- 结果
- 这个窗口的工具包。
- 另请参见:
-
Toolkit
,Toolkit.getDefaultToolkit()
,Component.getToolkit()
-
getWarningString
public final String getWarningString()
获取此窗口显示的警告字符串。 如果此窗口不安全,则警告字符串将显示在窗口可见区域的某处。 如果有安全管理器且安全管理器拒绝AWTPermission("showWindowWithoutWarningBanner")
,则窗口不安全。如果窗口是安全的,则
getWarningString
返回null
。 如果窗口不安全,此方法将检查系统属性awt.appletWarning
并返回该属性的字符串值。- 结果
- 此窗口的警告字符串。
-
getLocale
public Locale getLocale()
获取与此窗口关联的Locale
对象(如果已设置区域设置)。 如果未设置区域设置,则返回默认区域设置。
-
getInputContext
public InputContext getInputContext()
获取此窗口的输入上下文。 窗口总是有一个输入上下文,由子组件共享,除非它们创建和设置自己的子组件。- 重写:
-
getInputContext
类Component
- 结果
-
此组件使用的输入上下文;
null
如果无法确定上下文 - 从以下版本开始:
- 1.2
- 另请参见:
-
Component.getInputContext()
-
setCursor
public void setCursor(Cursor cursor)
将光标图像设置为指定的光标。如果Java平台实现和/或本机系统不支持改变鼠标光标形状,则该方法可能没有视觉效果。
- 重写:
-
setCursor
在课程Component
- 参数
-
cursor
-Cursor
类定义的常量Cursor
。 如果此参数为null,则此窗口的光标将设置为Cursor.DEFAULT_CURSOR类型。 - 从以下版本开始:
- 1.1
- 另请参见:
-
Component.getCursor()
,Cursor
-
getOwner
public Window getOwner()
返回此窗口的所有者。- 结果
- 这个窗口的拥有者
- 从以下版本开始:
- 1.2
-
getOwnedWindows
public Window[] getOwnedWindows()
返回一个包含此窗口当前拥有的所有窗口的数组。- 结果
- 所有拥有的窗口的数组
- 从以下版本开始:
- 1.2
-
getWindows
public static Window[] getWindows()
返回由此应用程序创建的所有Window
的数组,包括拥有者和无主者。 如果从applet调用,则该数组仅包含该applet可访问的Window
。警告:此方法可能会返回系统创建的窗口,例如打印对话框。 应用程序不应假设存在这些对话框,应用程序也不应假设有关这些对话框的任何内容,例如组件位置,
LayoutManager
或序列化。- 结果
-
应用程序创建的所有
Window
的数组 - 从以下版本开始:
- 1.6
- 另请参见:
-
Frame.getFrames()
,getOwnerlessWindows()
-
getOwnerlessWindows
public static Window[] getOwnerlessWindows()
返回此应用程序创建的没有所有者的所有Window
的数组。 它们包括Frame
和无主Dialog
以及Window
。 如果从applet调用,则该数组仅包含该applet可访问的Window
。警告:此方法可能会返回系统创建的窗口,例如打印对话框。 应用程序不应假设存在这些对话框,应用程序也不应假设有关这些对话框的任何内容,例如组件位置,
LayoutManager
或序列化。- 结果
-
此应用程序创建的所有无主
Window
的数组 - 从以下版本开始:
- 1.6
- 另请参见:
-
Frame.getFrames()
,getWindows()
-
setModalExclusionType
public void setModalExclusionType(Dialog.ModalExclusionType exclusionType)
指定此窗口的模态排除类型。 如果窗口是模态排除的,则不会被某些模态对话框阻止。 有关可能的模态排除类型,请参见Dialog.ModalExclusionType
。如果不支持给定类型,则使用
NO_EXCLUDE
。注意:更改可见窗口的模态排除类型可能无效,直到它被隐藏然后再次显示。
- 参数
-
exclusionType
- 此窗口的模态排除类型;null
值相当于NO_EXCLUDE
- 异常
-
SecurityException
- 如果调用线程没有权限将模态排除属性设置为给定的窗口exclusionType
- 从以下版本开始:
- 1.6
- 另请参见:
-
Dialog.ModalExclusionType
,getModalExclusionType()
,Toolkit.isModalExclusionTypeSupported(java.awt.Dialog.ModalExclusionType)
-
getModalExclusionType
public Dialog.ModalExclusionType getModalExclusionType()
返回此窗口的模态排除类型。- 结果
- 此窗口的模态排除类型
- 从以下版本开始:
- 1.6
- 另请参见:
-
Dialog.ModalExclusionType
,setModalExclusionType(java.awt.Dialog.ModalExclusionType)
-
addWindowListener
public void addWindowListener(WindowListener l)
- 参数
-
l
- 窗口监听器 - 另请参见:
-
removeWindowListener(java.awt.event.WindowListener)
,getWindowListeners()
-
addWindowStateListener
public void addWindowStateListener(WindowStateListener l)
- 参数
-
l
- 窗口状态监听器 - 从以下版本开始:
- 1.4
- 另请参见:
-
removeWindowStateListener(java.awt.event.WindowStateListener)
,getWindowStateListeners()
-
addWindowFocusListener
public void addWindowFocusListener(WindowFocusListener l)
- 参数
-
l
- 窗口焦点监听器 - 从以下版本开始:
- 1.4
- 另请参见:
-
removeWindowFocusListener(java.awt.event.WindowFocusListener)
,getWindowFocusListeners()
-
removeWindowListener
public void removeWindowListener(WindowListener l)
- 参数
-
l
- 窗口监听器 - 另请参见:
-
addWindowListener(java.awt.event.WindowListener)
,getWindowListeners()
-
removeWindowStateListener
public void removeWindowStateListener(WindowStateListener l)
- 参数
-
l
- 窗口状态监听器 - 从以下版本开始:
- 1.4
- 另请参见:
-
addWindowStateListener(java.awt.event.WindowStateListener)
,getWindowStateListeners()
-
removeWindowFocusListener
public void removeWindowFocusListener(WindowFocusListener l)
- 参数
-
l
- 窗口焦点监听器 - 从以下版本开始:
- 1.4
- 另请参见:
-
addWindowFocusListener(java.awt.event.WindowFocusListener)
,getWindowFocusListeners()
-
getWindowListeners
public WindowListener[] getWindowListeners()
返回在此窗口中注册的所有窗口侦听器的数组。- 结果
-
如果当前没有注册窗口侦听器,则此窗口的所有窗口
WindowListener
或空数组 - 从以下版本开始:
- 1.4
- 另请参见:
-
addWindowListener(java.awt.event.WindowListener)
,removeWindowListener(java.awt.event.WindowListener)
-
getWindowFocusListeners
public WindowFocusListener[] getWindowFocusListeners()
返回在此窗口中注册的所有窗口焦点侦听器的数组。- 结果
-
如果当前没有注册窗口焦点侦听器,则此窗口的所有窗口
WindowFocusListener
或空数组 - 从以下版本开始:
- 1.4
- 另请参见:
-
addWindowFocusListener(java.awt.event.WindowFocusListener)
,removeWindowFocusListener(java.awt.event.WindowFocusListener)
-
getWindowStateListeners
public WindowStateListener[] getWindowStateListeners()
返回在此窗口中注册的所有窗口状态侦听器的数组。- 结果
-
如果当前没有注册窗口状态侦听器,则此窗口的所有窗口
WindowStateListener
或空数组 - 从以下版本开始:
- 1.4
- 另请参见:
-
addWindowStateListener(java.awt.event.WindowStateListener)
,removeWindowStateListener(java.awt.event.WindowStateListener)
-
getListeners
public <T extends EventListener> T[] getListeners(类<T> listenerType)
返回当前注册的所有对象的数组FooListener
在这个SWindow
。FooListener
s使用addFooListener
方法注册。您可以使用类文字指定
listenerType
参数,例如FooListener.class
。 例如,您可以使用以下代码查询Window w
的窗口侦听器:WindowListener[] wls = (WindowListener[])(w.getListeners(WindowListener.class));
如果不存在此类侦听器,则此方法返回空数组。- 重写:
-
getListeners
在课程Container
- 参数类型
-
T
- 监听器的类型 - 参数
-
listenerType
- 要求的听众类型; 此参数应指定从java.util.EventListener
下降的接口 - 结果
-
此窗口上注册为
FooListener
的所有对象的数组,如果未添加此类侦听器,则为空数组 - 异常
-
ClassCastException
- 如果listenerType
未指定实现java.util.EventListener
的类或接口 -
NullPointerException
- 如果listenerType
是null
- 从以下版本开始:
- 1.3
- 另请参见:
-
getWindowListeners()
-
processEvent
protected void processEvent(AWTEvent e)
处理此窗口上的事件。 如果事件是WindowEvent
,则调用processWindowEvent
方法,否则调用其超类processEvent
。请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 重写:
-
processEvent
在课程Container
- 参数
-
e
- 活动 - 另请参见:
-
Component.processComponentEvent(java.awt.event.ComponentEvent)
,Component.processFocusEvent(java.awt.event.FocusEvent)
,Component.processKeyEvent(java.awt.event.KeyEvent)
,Component.processMouseEvent(java.awt.event.MouseEvent)
,Component.processMouseMotionEvent(java.awt.event.MouseEvent)
,Component.processInputMethodEvent(java.awt.event.InputMethodEvent)
,Component.processHierarchyEvent(java.awt.event.HierarchyEvent)
,Component.processMouseWheelEvent(java.awt.event.MouseWheelEvent)
-
processWindowEvent
protected void processWindowEvent(WindowEvent e)
通过将窗口事件分派给任何已注册的WindowListener对象来处理此窗口上发生的窗口事件。 注意:除非为此组件启用了窗口事件,否则不会调用此方法; 发生以下任一情况时会发生这种情况:- WindowListener对象通过
addWindowListener
注册 - 通过
enableEvents
启用窗口事件
请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 窗口事件 - 另请参见:
-
Component.enableEvents(long)
- WindowListener对象通过
-
processWindowFocusEvent
protected void processWindowFocusEvent(WindowEvent e)
通过将窗口焦点事件分派给任何已注册的WindowFocusListener对象来处理此窗口上发生的窗口焦点事件。 注意:除非为此窗口启用了窗口焦点事件,否则不会调用此方法。 发生以下任一情况时会发生这种情况:- WindowFocusListener通过
addWindowFocusListener
注册 - 通过
enableEvents
启用窗口焦点事件
请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 窗口焦点事件 - 从以下版本开始:
- 1.4
- 另请参见:
-
Component.enableEvents(long)
- WindowFocusListener通过
-
processWindowStateEvent
protected void processWindowStateEvent(WindowEvent e)
处理在此窗口上发生的窗口状态事件,方法是将它们分派给任何已注册的WindowStateListener
对象。 注意:除非为此窗口启用了窗口状态事件,否则不会调用此方法。 发生以下任一情况时会发生这种情况:- a
WindowStateListener
的注册WindowStateListener
是addWindowStateListener
- 窗口状态事件通过
enableEvents
启用
请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 窗口状态事件 - 从以下版本开始:
- 1.4
- 另请参见:
-
Component.enableEvents(long)
- a
-
setAlwaysOnTop
public final void setAlwaysOnTop(boolean alwaysOnTop) throws SecurityException
设置此窗口是否应始终位于其他窗口之上。 如果有多个始终在顶部的窗口,则它们的相对顺序未指定且与平台相关。如果某个其他窗口已经始终在顶部,那么这些窗口之间的相对顺序是未指定的(取决于平台)。 除了可能是另一个永远在顶部的窗口之外,没有窗口可以在总是在顶部的窗口上。
始终在顶部窗口拥有的所有窗口都会继承此状态并自动变为始终在线。 如果一个窗口不再始终在顶部,它拥有的窗口将不再是永远在顶部。 当始终在顶部窗口发送
toBack
时 ,其始终在顶部状态设置为false
。在值为
true
的窗口上调用此方法,并且窗口可见且平台支持此窗口的always-on-top时,窗口立即向前移动,将其“粘贴”在最顶部位置。 如果窗口当前不可见,则此方法将always-on-top状态设置为true
但不会使窗口前进。 稍后显示窗口时,它将始终位于顶部。在值为
false
的窗口上调用此方法时,always-on-top状态将设置为normal。 它还可能导致顶级窗口的z顺序中未指定的,与平台相关的更改,但其他始终在顶部的窗口将保持在最顶层位置。 在具有正常状态的窗口上使用值false
调用此方法无效。注意 :某些平台可能不支持always-on-top窗口。 要检测当前平台是否支持始终在顶部的窗口,请使用
Toolkit.isAlwaysOnTopSupported()
和isAlwaysOnTopSupported()
。 如果此窗口不支持always-on-top模式,或者此窗口的工具包不支持always-on-top窗口,则调用此方法无效。如果安装了SecurityManager,则必须为调用线程授予AWTPermission“setWindowAlwaysOnTop”以设置此属性的值。 如果未授予此权限,则此方法将抛出SecurityException,并且该属性的当前值将保持不变。
- 参数
-
alwaysOnTop
- 如果窗口应始终位于其他窗口之上,alwaysOnTop
true - 异常
-
SecurityException
- 如果调用线程没有权限设置always-on-top属性的值 - 从以下版本开始:
- 1.5
- 另请参见:
-
isAlwaysOnTop()
,toFront()
,toBack()
,AWTPermission
,isAlwaysOnTopSupported()
,getToolkit()
,Toolkit.isAlwaysOnTopSupported()
-
isAlwaysOnTopSupported
public boolean isAlwaysOnTopSupported()
返回此窗口是否支持always-on-top模式。 有些平台可能不支持永远在顶部的窗口,有些可能只支持某些顶级窗口; 例如,平台可能不支持always-on-top模式对话框。- 结果
-
true
,如果此窗口支持always-on-top模式,则此窗口的工具包支持always-on-top窗口,否则为false
- 从以下版本开始:
- 1.6
- 另请参见:
-
setAlwaysOnTop(boolean)
,getToolkit()
,Toolkit.isAlwaysOnTopSupported()
-
isAlwaysOnTop
public final boolean isAlwaysOnTop()
返回此窗口是否为始终在顶部的窗口。- 结果
-
true
,如果窗口处于始终处于最高状态,false
- 从以下版本开始:
- 1.5
- 另请参见:
-
setAlwaysOnTop(boolean)
-
getFocusOwner
public Component getFocusOwner()
如果此窗口被聚焦,则返回此窗口的子Component,该窗口具有焦点; 否则返回null。- 结果
- 具有焦点的子Component,如果没有焦点,则为null
- 另请参见:
-
getMostRecentFocusOwner()
,isFocused()
-
getMostRecentFocusOwner
public Component getMostRecentFocusOwner()
返回此窗口聚焦时将接收焦点的此窗口的子Component。 如果此窗口当前是焦点,则此方法返回与getFocusOwner()
相同的组件。 如果此窗口未聚焦,则将返回最近请求焦点的子Component。 如果没有子Component请求焦点,并且这是一个可聚焦窗口,则返回此Window的初始可聚焦Component。 如果没有子Component请求焦点,并且这是一个不可聚焦的Window,则返回null。- 结果
- 在关注此窗口时将获得焦点的子Component
- 从以下版本开始:
- 1.4
- 另请参见:
-
getFocusOwner()
,isFocused()
,isFocusableWindow()
-
isActive
public boolean isActive()
返回此Window是否处于活动状态。 只有一个框架或一个对话框可能是活动的。 本机窗口系统可以表示具有特殊装饰的活动窗口或其子窗口,例如突出显示的标题栏。 活动窗口始终是聚焦窗口,或者是聚焦窗口所有者的第一个框架或对话框。- 结果
- 这是否是活动窗口。
- 从以下版本开始:
- 1.4
- 另请参见:
-
isFocused()
-
isFocused
public boolean isFocused()
返回此Window是否已聚焦。 如果存在焦点所有者,则焦点窗口是包含该焦点所有者的窗口。 如果没有焦点所有者,则不会关注Window。如果焦点窗口是框架或对话框,它也是活动窗口。 否则,活动窗口是第一个框架或对话框,它是焦点窗口的所有者。
- 结果
- 这是否是重点窗口。
- 从以下版本开始:
- 1.4
- 另请参见:
-
isActive()
-
getFocusTraversalKeys
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
获取此Window的焦点遍历键。 (有关每个密钥的完整说明,请参阅setFocusTraversalKeys
)如果尚未为此窗口显式设置遍历键,则返回此Window的父级遍历键。 如果尚未为此Window的任何祖先显式设置遍历键,则返回当前KeyboardFocusManager的默认遍历键。
- 重写:
-
getFocusTraversalKeys
在课程Container
- 参数
-
id
- KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS或KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS之一 - 结果
- 指定键的AWTKeyStroke
- 异常
-
IllegalArgumentException
- 如果id不是KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS或KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS之一 - 从以下版本开始:
- 1.4
- 另请参见:
-
Container.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
,KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
,KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
-
setFocusCycleRoot
public final void setFocusCycleRoot(boolean focusCycleRoot)
什么都不做因为Windows必须始终是焦点遍历循环的根源。 传入的值被忽略。- 重写:
-
setFocusCycleRoot
在课程Container
- 参数
-
focusCycleRoot
- 忽略此值 - 从以下版本开始:
- 1.4
- 另请参见:
-
isFocusCycleRoot()
,Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,Container.getFocusTraversalPolicy()
-
isFocusCycleRoot
public final boolean isFocusCycleRoot()
始终返回true
因为所有Windows必须是焦点遍历循环的根。- 重写:
-
isFocusCycleRoot
在课程Container
- 结果
-
true
- 从以下版本开始:
- 1.4
- 另请参见:
-
setFocusCycleRoot(boolean)
,Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,Container.getFocusTraversalPolicy()
-
getFocusCycleRootAncestor
public final Container getFocusCycleRootAncestor()
始终返回null
因为Windows没有祖先; 它们代表组件层次结构的顶部。- 重写:
-
getFocusCycleRootAncestor
在课程Component
- 结果
-
null
- 从以下版本开始:
- 1.4
- 另请参见:
-
Container.isFocusCycleRoot()
-
isFocusableWindow
public final boolean isFocusableWindow()
返回此Window是否可以成为焦点窗口,即此Window或其任何子组件是否可以成为焦点所有者。 要使帧或对话框可聚焦,其可聚焦窗口状态必须设置为true
。 对于不是可聚焦的框架或对话框的窗口,其可聚焦窗口状态必须设置为true
,其最近的拥有框架或对话框必须在屏幕上显示,并且它必须在其焦点遍历循环中包含至少一个组件。 如果不满足任何这些条件,则此Window及其任何子组件都不能成为焦点所有者。- 结果
-
true
如果此窗口可以是聚焦窗口; 否则为false
- 从以下版本开始:
- 1.4
- 另请参见:
-
getFocusableWindowState()
,setFocusableWindowState(boolean)
,isShowing()
,Component.isFocusable()
-
getFocusableWindowState
public boolean getFocusableWindowState()
如果此窗口满足isFocusableWindow
列出的其他要求,则返回此窗口是否可以成为焦点窗口。 如果此方法返回false
,则isFocusableWindow
也将返回false
。 如果此方法返回true
,则isFocusableWindow
可以返回true
或false
具体取决于为了使窗口可聚焦而必须满足的其他要求。默认情况下,所有Windows的可聚焦窗口状态均为
true
。- 结果
- 此窗口是否可以成为焦点窗口
- 从以下版本开始:
- 1.4
- 另请参见:
-
isFocusableWindow()
,setFocusableWindowState(boolean)
,isShowing()
,Component.setFocusable(boolean)
-
setFocusableWindowState
public void setFocusableWindowState(boolean focusableWindowState)
设置如果此窗口满足isFocusableWindow
列出的其他要求,此窗口是否可以成为焦点窗口。 如果此窗口的可聚焦窗口状态设置为false
,则isFocusableWindow
将返回false
。 如果此窗口的可聚焦窗口状态设置为true
,则isFocusableWindow
可能会返回true
或false
具体取决于为了使窗口可聚焦而必须满足的其他要求。将窗口的可聚焦状态设置为
false
是应用程序向AWT标识将用作浮动调色板或工具栏的窗口的标准机制,因此应该是不可聚焦的窗口。 在可见的Window
上设置可聚焦状态可能会对某些平台产生延迟影响 - 只有当Window
变为隐藏然后再次可见时,Window
发生实际更改。 要确保跨平台的一致行为,请在Window
不可见时设置Window
的可聚焦状态,然后显示它。- 参数
-
focusableWindowState
- 此窗口是否可以成为焦点窗口 - 从以下版本开始:
- 1.4
- 另请参见:
-
isFocusableWindow()
,getFocusableWindowState()
,isShowing()
,Component.setFocusable(boolean)
-
setAutoRequestFocus
public void setAutoRequestFocus(boolean autoRequestFocus)
设置此窗口是否应该随后显示(通过调用setVisible(true)
)或移动到前面(通过调用toFront()
)获得焦点 。注意,可以间接调用
setVisible(true)
(例如,当显示窗口的所有者使得窗口被显示时)。toFront()
也可以间接调用(例如,当setVisible(true)
被称为上已经可见窗口)。 在所有这些情况下,此属性也会生效。拥有的窗口不会继承该属性的值。
- 参数
-
autoRequestFocus
- 此窗口是否应该集中在随后显示或移动到前面 - 从以下版本开始:
- 1.7
- 另请参见:
-
isAutoRequestFocus()
,isFocusableWindow()
,setVisible(boolean)
,toFront()
-
isAutoRequestFocus
public boolean isAutoRequestFocus()
返回此窗口是否应该随后显示(通过调用setVisible(true)
)或移动到前面(通过调用toFront()
)获得焦点 。默认情况下,窗口的值为
autoRequestFocus
值为true
。- 结果
-
价值
autoRequestFocus
- 从以下版本开始:
- 1.7
- 另请参见:
-
setAutoRequestFocus(boolean)
-
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
将PropertyChangeListener添加到侦听器列表。 侦听器已注册此类的所有绑定属性,包括以下内容:- 这个Window的字体(“font”)
- 这个窗口的背景颜色(“背景”)
- 这个窗口的前景色(“前景”)
- 这个窗口的可聚焦性(“可聚焦”)
- 此窗口的焦点遍历键启用状态(“focusTraversalKeysEnabled”)
- 这个窗口的FORWARD_TRAVERSAL_KEYS集(“forwardFocusTraversalKeys”)
- 这个Window的一组BACKWARD_TRAVERSAL_KEYS(“backwardFocusTraversalKeys”)
- 这个窗口的UP_CYCLE_TRAVERSAL_KEYS(“upCycleFocusTraversalKeys”)的集合
- 这个窗口的DOWN_CYCLE_TRAVERSAL_KEYS(“downCycleFocusTraversalKeys”)
- 此窗口的焦点遍历策略(“focusTraversalPolicy”)
- 这个Window的可聚焦窗口状态(“focusableWindowState”)
- 这个窗口始终处于最顶层状态(“alwaysOnTop”)
如果listener为null,则不会抛出异常并且不执行任何操作。
- 重写:
-
addPropertyChangeListener
在课程Container
- 参数
-
listener
- 要添加的PropertyChangeListener - 另请参见:
-
Component.removePropertyChangeListener(java.beans.PropertyChangeListener)
,addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
-
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
将PropertyChangeListener添加到特定属性的侦听器列表中。 指定的属性可以是用户定义的,也可以是以下之一:- 这个Window的字体(“font”)
- 这个窗口的背景颜色(“背景”)
- 这个窗口的前景色(“前景”)
- 这个窗口的可聚焦性(“可聚焦”)
- 此窗口的焦点遍历键启用状态(“focusTraversalKeysEnabled”)
- 这个窗口的FORWARD_TRAVERSAL_KEYS集(“forwardFocusTraversalKeys”)
- 这个Window的一组BACKWARD_TRAVERSAL_KEYS(“backwardFocusTraversalKeys”)
- 这个窗口的UP_CYCLE_TRAVERSAL_KEYS(“upCycleFocusTraversalKeys”)的集合
- 这个窗口的DOWN_CYCLE_TRAVERSAL_KEYS(“downCycleFocusTraversalKeys”)
- 此窗口的焦点遍历策略(“focusTraversalPolicy”)
- 这个Window的可聚焦窗口状态(“focusableWindowState”)
- 这个窗口始终处于最顶层状态(“alwaysOnTop”)
如果listener为null,则不会抛出异常并且不执行任何操作。
- 重写:
-
addPropertyChangeListener
在课程Container
- 参数
-
propertyName
- 上面列出的其中一个属性 -
listener
- 要添加的PropertyChangeListener - 另请参见:
-
addPropertyChangeListener(java.beans.PropertyChangeListener)
,Component.removePropertyChangeListener(java.beans.PropertyChangeListener)
-
isValidateRoot
public boolean isValidateRoot()
指示此容器是否为验证根。Window
对象是验证根,因此,它们重写此方法以返回true
。- 重写:
-
isValidateRoot
在课程Container
- 结果
-
true
- 从以下版本开始:
- 1.7
- 另请参见:
-
Container.isValidateRoot()
-
postEvent
@Deprecated public boolean postEvent(Event e)
Deprecated.As of JDK version 1.1 replaced bydispatchEvent(AWTEvent)
.从界面复制的说明:MenuContainer
将事件发布给听众。- Specified by:
-
postEvent
在界面MenuContainer
- 重写:
-
postEvent
在课程Component
- 参数
-
e
- 要派遣的事件 - 结果
- 发布活动的结果
-
isShowing
public boolean isShowing()
检查此窗口是否显示在屏幕上。- 重写:
-
isShowing
在课程Component
- 结果
-
true
如果正在显示组件,false
否则 - 另请参见:
-
Component.setVisible(boolean)
-
applyResourceBundle
@Deprecated public void applyResourceBundle(ResourceBundle rb)
Deprecated.As of J2SE 1.4, replaced byComponent.applyComponentOrientation
.- 参数
-
rb
- 资源包
-
applyResourceBundle
@Deprecated public void applyResourceBundle(String rbName)
Deprecated.As of J2SE 1.4, replaced byComponent.applyComponentOrientation
.- 参数
-
rbName
- 资源名称
-
setType
public void setType(Window.Type type)
设置窗口的类型。 只有在窗口不可显示时才能调用此方法。- 参数
-
type
- 窗口类型 - 异常
-
IllegalComponentStateException
- 如果窗口可显示。 -
IllegalArgumentException
- 如果类型是null
- 从以下版本开始:
- 1.7
- 另请参见:
-
Component.isDisplayable()
,getType()
-
getType
public Window.Type getType()
返回窗口的类型。- 结果
- 窗口的类型
- 从以下版本开始:
- 1.7
- 另请参见:
-
setType(java.awt.Window.Type)
-
getAccessibleContext
public AccessibleContext getAccessibleContext()
获取与此Window关联的AccessibleContext。 对于Windows,AccessibleContext采用AccessibleAWTWindow的形式。 如有必要,将创建一个新的AccessibleAWTWindow实例。- Specified by:
-
getAccessibleContext
在界面Accessible
- 重写:
-
getAccessibleContext
在课程Component
- 结果
- 一个AccessibleAWTWindow,用作此Window的AccessibleContext
- 从以下版本开始:
- 1.3
-
setLocationRelativeTo
public void setLocationRelativeTo(Component c)
根据以下方案设置窗口相对于指定组件的位置。下面提到的目标屏幕是在调用setLocationRelativeTo方法之后应该放置窗口的屏幕。
- 如果组件为
null
,或者与此组件关联的GraphicsConfiguration
为null
,则窗口将位于屏幕中央。 可以使用GraphicsEnvironment.getCenterPoint
方法获得中心点 。 - 如果组件不是
null
,但当前未显示,则窗口将放置在与此组件关联的GraphicsConfiguration
定义的目标屏幕的中心。 - 如果组件不是
null
并且显示在屏幕上,则窗口的位置使得窗口的中心与组件的中心重合。
如果屏幕配置不允许窗口从一个屏幕移动到另一个屏幕,则窗口仅放置在根据上述条件确定的位置,并且其
GraphicsConfiguration
不会更改。注意 :如果窗口的下边缘不在屏幕上,则窗口将放置在最靠近屏幕中心的
Component
侧面。 因此,如果组件位于屏幕的右侧,则窗口位于其左侧,反之亦然。如果在计算窗口位置之后,窗口的上边缘,左边缘或右边缘在屏幕之外,则窗口的位置使窗口的上边缘,左边缘或右边缘与窗口的边缘重合。相应的屏幕边缘。 如果窗口的左右边缘都在屏幕外,则窗口位于屏幕的左侧。 如果顶部和底部边缘都在屏幕之外,则会发生类似的放置。 在这种情况下,窗口位于屏幕的顶部。
该方法更改与几何相关的数据。 因此,本机窗口系统可以忽略这样的请求,或者它可以修改所请求的数据,以便以与桌面设置紧密对应的方式放置和调整
Window
对象的大小。- 参数
-
c
- 确定窗口位置的组件 - 从以下版本开始:
- 1.4
- 另请参见:
-
GraphicsEnvironment.getCenterPoint()
- 如果组件为
-
createBufferStrategy
public void createBufferStrategy(int numBuffers)
为此组件创建多缓冲的新策略。 多缓冲对于渲染性能很有用。 此方法尝试使用提供的缓冲区数创建可用的最佳策略。 它将始终创建具有该数量的缓冲区的BufferStrategy
。 首先尝试翻页策略,然后尝试使用加速缓冲区的blitting策略。 最后,使用了未加速的blitting策略。每次调用此方法时,都会丢弃此组件的现有缓冲区策略。
- 参数
-
numBuffers
- 要创建的缓冲区数 - 异常
-
IllegalArgumentException
- 如果numBuffers小于1。 -
IllegalStateException
- 如果组件不可显示 - 从以下版本开始:
- 1.4
- 另请参见:
-
Component.isDisplayable()
,getBufferStrategy()
-
createBufferStrategy
public void createBufferStrategy(int numBuffers, BufferCapabilities caps) throws AWTException
使用所需的缓冲区功能为此组件创建多缓冲的新策略。 例如,如果只需要加速内存或页面翻转(由缓冲区功能指定),这很有用。每次调用此方法时,都会丢弃此组件的现有缓冲区策略。
- 参数
-
numBuffers
- 要创建的缓冲区数,包括前端缓冲区 -
caps
- 创建缓冲策略所需的功能; 不能是null
- 异常
-
AWTException
- 如果无法支持或满足所提供的功能; 例如,如果当前没有足够的加速内存,或者指定了页面翻转但不可能,则可能会发生这种情况。 -
IllegalArgumentException
- 如果numBuffers小于1,或者大写字母为null
- 从以下版本开始:
- 1.4
- 另请参见:
-
getBufferStrategy()
-
getBufferStrategy
public BufferStrategy getBufferStrategy()
返回此组件使用的BufferStrategy
。 如果尚未创建或已处置BufferStrategy
则此方法将返回null。- 结果
- 此组件使用的缓冲区策略
- 从以下版本开始:
- 1.4
- 另请参见:
-
createBufferStrategy(int)
-
setLocationByPlatform
public void setLocationByPlatform(boolean locationByPlatform)
设置此窗口是否应显示在本机窗口系统的默认位置,或者在下次使窗口可见时显示在当前位置(由getLocation
返回)。 此行为类似于显示的本机窗口,没有以编程方式设置其位置。 如果未明确设置其位置,则大多数窗口系统会级联窗口。 一旦窗口显示在屏幕上,就确定实际位置。也可以通过将系统属性“java.awt.Window.locationByPlatform”设置为“true”来启用此行为,但对此方法的调用优先。
拨打
setVisible
,setLocation
和setBounds
调用后setLocationByPlatform
窗口中清除此属性。例如,执行以下代码后:
setLocationByPlatform(true); setVisible(true); boolean flag = isLocationByPlatform();
该窗口将显示在平台的默认位置,flag
将显示为false
。在以下示例中:
setLocationByPlatform(true); setLocation(10, 10); boolean flag = isLocationByPlatform(); setVisible(true);
该窗口将显示在(10,10),flag
将显示在false
。- 参数
-
locationByPlatform
-true
如果此窗口应出现在默认位置,如果在当前位置false
- 异常
-
IllegalComponentStateException
- 如果窗口显示在屏幕上且locationByPlatform为true
。 - 从以下版本开始:
- 1.5
- 另请参见:
-
setLocation(int, int)
,isShowing()
,setVisible(boolean)
,isLocationByPlatform()
,System.getProperty(String)
-
isLocationByPlatform
public boolean isLocationByPlatform()
如果此窗口在下一次显示此窗口时将显示在本机窗口系统的默认位置,则返回true
。 如果窗口显示在屏幕上,则此方法始终返回false
。- 结果
- 此窗口是否显示在默认位置
- 从以下版本开始:
- 1.5
- 另请参见:
-
setLocationByPlatform(boolean)
,isShowing()
-
setBounds
public void setBounds(int x, int y, int width, int height)
移动并调整此组件的大小。 左上角的新位置由x
和y
指定,新大小由width
和height
指定。此方法更改与布局相关的信息,因此使组件层次结构无效。
如果其中一个值小于上一次调用
setMinimumSize
所指定的最小值,则会自动放大width
或height
值。该方法更改与几何相关的数据。 因此,本机窗口系统可以忽略这些请求,或者它可以修改所请求的数据,以便以与桌面设置紧密对应的方式放置和调整
Window
对象的大小。- 重写:
-
setBounds
在课程Component
- 参数
-
x
- 此组件的新 x -coordinate -
y
- 此组件的新 y -coordinate -
width
- 该组件的新width
-
height
- 该组件的新height
- 从以下版本开始:
- 1.6
- 另请参见:
-
Component.getBounds()
,setLocation(int, int)
,setLocation(Point)
,setSize(int, int)
,setSize(Dimension)
,setMinimumSize(java.awt.Dimension)
,setLocationByPlatform(boolean)
,isLocationByPlatform()
-
setBounds
public void setBounds(Rectangle r)
移动此组件并调整其大小以符合新的边界矩形r
。 该组件的新头寸由r.x
和r.y
指定,其新大小由r.width
和r.height
指定此方法更改与布局相关的信息,因此使组件层次结构无效。
如果其中一个值小于上一次调用
setMinimumSize
所指定的最小值,则会自动放大r.width
或r.height
值。该方法更改与几何相关的数据。 因此,本地窗口系统可以忽略这样的请求,或者它可修改所请求的数据,从而使
Window
对象放置和尺寸在接近地对应于桌面设置的一种方式。- 重写:
-
setBounds
在课程Component
- 参数
-
r
- 此组件的新边界矩形 - 从以下版本开始:
- 1.6
- 另请参见:
-
Component.getBounds()
,setLocation(int, int)
,setLocation(Point)
,setSize(int, int)
,setSize(Dimension)
,setMinimumSize(java.awt.Dimension)
,setLocationByPlatform(boolean)
,isLocationByPlatform()
-
getOpacity
public float getOpacity()
返回窗口的不透明度。- 结果
- 窗户的不透明度
- 从以下版本开始:
- 1.7
- 另请参见:
-
setOpacity(float)
,GraphicsDevice.WindowTranslucency
-
setOpacity
public void setOpacity(float opacity)
设置窗口的不透明度。不透明度值在[0..1]范围内。 请注意,将不透明度级别设置为0可能会也可能不会禁用此窗口上的鼠标事件处理。 这是一种依赖于平台的行为。
必须满足以下条件才能将不透明度值设置为小于
1.0f
:- 底层系统必须支持
TRANSLUCENT
半透明 - 窗户必须未修饰(见
Frame.setUndecorated(boolean)
和Dialog.setUndecorated(boolean)
) - 窗口不得处于全屏模式(参见
GraphicsDevice.setFullScreenWindow(Window)
)
如果请求的不透明度值小于
1.0f
,并且不满足上述任何条件,则窗口不透明度将不会更改,并且将抛出IllegalComponentStateException
。各个像素的半透明度也可以通过其颜色的α分量(参见
setBackground(Color)
)和该窗口的当前形状(参见setShape(Shape)
)来实现。- 参数
-
opacity
- 要设置为窗口的不透明度级别 - 异常
-
IllegalArgumentException
- 如果不透明度超出范围[0..1] -
IllegalComponentStateException
- 如果窗口已装饰1.0f
透明度小于1.0f
-
IllegalComponentStateException
- 如果窗口处于全屏模式,并且不透明度小于1.0f
-
UnsupportedOperationException
- 如果不支持GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT
半透明且不透明度小于1.0f
- 从以下版本开始:
- 1.7
- 另请参见:
-
getOpacity()
,setBackground(Color)
,setShape(Shape)
,Frame.isUndecorated()
,Dialog.isUndecorated()
,GraphicsDevice.WindowTranslucency
,GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
- 底层系统必须支持
-
getShape
public Shape getShape()
返回窗口的形状。 此方法返回的值可能与之前使用setShape(shape)
设置的setShape(shape)
,但保证表示相同的形状。- 结果
-
如果没有为窗口指定形状,则窗口的形状或
null
- 从以下版本开始:
- 1.7
- 另请参见:
-
setShape(Shape)
,GraphicsDevice.WindowTranslucency
-
setShape
public void setShape(Shape shape)
设置窗口的形状。设置形状会切断窗口的某些部分。 只有属于给定
Shape
的部件仍然可见且可单击。 如果shape参数为null
,则此方法将恢复默认形状,从而使窗口在大多数平台上呈矩形。必须满足以下条件才能设置非null形状:
- 底层系统必须支持
PERPIXEL_TRANSPARENT
半透明 - 窗户必须未修饰(见
Frame.setUndecorated(boolean)
和Dialog.setUndecorated(boolean)
) - 窗口不得处于全屏模式(参见
GraphicsDevice.setFullScreenWindow(Window)
)
如果请求的形状不是
null
,并且不满足上述任何条件,则此窗口的形状不会更改,并且将抛出UnsupportedOperationException
或IllegalComponentStateException
。各个像素的半透明度也可以通过其颜色的α分量(参见
setBackground(Color)
)和不透明度值(参见setOpacity(float)
)来实现。 有关详细信息,请参见GraphicsDevice.WindowTranslucency
。- 参数
-
shape
- 要设置为窗口的形状 - 异常
-
IllegalComponentStateException
- 如果形状不是null
并且窗口已装饰 -
IllegalComponentStateException
- 如果形状不是null
且窗口处于全屏模式 -
UnsupportedOperationException
- 如果形状不是null
且PERPIXEL_TRANSPARENT
不支持半透明 - 从以下版本开始:
- 1.7
- 另请参见:
-
getShape()
,setBackground(Color)
,setOpacity(float)
,Frame.isUndecorated()
,Dialog.isUndecorated()
,GraphicsDevice.WindowTranslucency
,GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
- 底层系统必须支持
-
getBackground
public Color getBackground()
获取此窗口的背景颜色。请注意,返回颜色的alpha分量表示窗口是否处于非不透明(每像素半透明)模式。
- 重写:
-
getBackground
在课程Component
- 结果
- 此组件的背景颜色
- 另请参见:
-
setBackground(Color)
,isOpaque()
,GraphicsDevice.WindowTranslucency
-
setBackground
public void setBackground(Color bgColor)
设置此窗口的背景颜色。如果窗口系统支持
PERPIXEL_TRANSLUCENT
半透明,则给定背景颜色的alpha分量可能会影响此窗口的操作模式:它指示此窗口是否必须是不透明的(alpha等于1.0f
)或每像素半透明(alpha小于1.0f
)。 如果给定的背景颜色为null
,则该窗口被视为完全不透明。必须满足以下所有条件才能启用此窗口的每像素透明度模式:
- 此窗口所在的图形设备必须支持
PERPIXEL_TRANSLUCENT
半透明 - 窗户必须未修饰(见
Frame.setUndecorated(boolean)
和Dialog.setUndecorated(boolean)
) - 窗口不得处于全屏模式(参见
GraphicsDevice.setFullScreenWindow(Window)
)
如果请求的背景颜色的alpha分量小于
1.0f
,并且不满足上述任何条件,则此窗口的背景颜色不会改变,给定背景颜色的alpha分量不会影响操作模式此窗口,将抛出UnsupportedOperationException
或IllegalComponentStateException
。当窗口是每像素半透明时,绘图子系统尊重每个单独像素的alpha值。 如果像素被涂上了α颜色分量等于零,则它在视觉上变得透明。 如果像素的alpha等于1.0f,则像素是完全不透明的。 α颜色分量的中间值使像素半透明。 在此模式下,窗口的背景将使用给定背景颜色的alpha值绘制。 如果此方法的参数的alpha值等于
0
,则根本不绘制背景。给定像素的实际半透明度也取决于窗口不透明度(参见
setOpacity(float)
),以及该窗口的当前形状(参见setShape(Shape)
)。请注意,绘制alpha值为
0
的像素可能会也可能不会禁用此像素上的鼠标事件处理。 这是一种依赖于平台的行为。 为了确保不将鼠标事件分派到特定像素,必须从窗口的形状中排除像素。由于本机平台要求,启用每像素半透明模式可能会更改此窗口的图形配置。
- 重写:
-
setBackground
在课程Component
- 参数
-
bgColor
- 成为此窗口背景颜色的颜色。 - 异常
-
IllegalComponentStateException
- 如果给定背景颜色的alpha值小于1.0f
并且窗口已装饰 -
IllegalComponentStateException
- 如果给定背景颜色的alpha值小于1.0f
且窗口处于全屏模式 -
UnsupportedOperationException
- 如果给定背景颜色的alpha值小于1.0f
且不支持PERPIXEL_TRANSLUCENT
半透明度 - 另请参见:
-
getBackground()
,isOpaque()
,setOpacity(float)
,setShape(Shape)
,Frame.isUndecorated()
,Dialog.isUndecorated()
,GraphicsDevice.WindowTranslucency
,GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
,GraphicsConfiguration.isTranslucencyCapable()
- 此窗口所在的图形设备必须支持
-
isOpaque
public boolean isOpaque()
指示窗口当前是否不透明。如果窗口的背景颜色不是
null
并且颜色的alpha分量小于false
则该方法返回1.0f
。 否则,该方法返回true
。- 重写:
-
isOpaque
在课程Component
- 结果
-
true
如果窗口不透明,false
- 从以下版本开始:
- 1.7
- 另请参见:
-
getBackground()
,setBackground(Color)
-
paint
public void paint(Graphics g)
涂抹容器。 这会将绘制转发给任何属于此容器子级的轻量级组件。 如果重新实现此方法,则应调用super.paint(g)以便正确呈现轻量级组件。 如果子组件被g中的当前剪切设置完全剪切,则paint()将不会转发给该子组件。- 重写:
-
paint
在课程Container
- 参数
-
g
- 指定的图形窗口 - 从以下版本开始:
- 1.7
- 另请参见:
-
Component.update(Graphics)
-
-