- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- All Implemented Interfaces:
-
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
上Window
返回虚拟设备坐标。 调用getBounds
一个方法GraphicsConfiguration
找到它的起源在虚拟坐标系统相同。下面的代码设定的位置
Window
在(10,10)相对于所述相应的物理屏幕的原点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
)位于桌面窗口管理系统的控制之下。 调用setLocation
,setSize
,并setBounds
是转发到窗口管理系统的请求(不是指令)。 将竭尽全力履行这些要求。 然而,在某些情况下,窗口管理系统可能会忽略此类请求,或修改所请求的几何,以便以更符合桌面设置的方式放置和Window
。由于本地事件处理的异步特性,结果被返回
getBounds
,getLocation
,getLocationOnScreen
,并getSize
直到最后请求已被处理,可能不反映屏幕上Window的实际几何结构。 在处理后续请求期间,窗口管理系统满足请求时,这些值可能会相应地更改。应用程序可以任意设置不可见的
Window
的大小和位置,但是当Window
可见时,窗口管理系统随后可以改变其大小和/或位置。 将生成一个或多个ComponentEvent
s来指示新几何。Windows能够生成以下WindowEvents:WindowOpened,WindowClosed,WindowGainedFocus,WindowLostFocus。
- 从以下版本开始:
- 1.0
- 另请参见:
-
WindowEvent
,addWindowListener(java.awt.event.WindowListener)
,BorderLayout
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected class
Window.AccessibleAWTWindow
该类为Window
类实现可访问性支持。static class
Window.Type
枚举可用的 窗口类型 。-
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
-
-
Field Summary
-
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
-
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 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()
获取与此窗口关联的AccessibleContext。Color
getBackground()
获取此窗口的背景颜色。BufferStrategy
getBufferStrategy()
返回此组件使用的BufferStrategy
。boolean
getFocusableWindowState()
如果满足isFocusableWindow
列出的其他要求,则返回此窗口是否可以成为关注窗口。Container
getFocusCycleRootAncestor()
始终返回null
因为Windows没有祖先; 它们代表组件层次结构的顶部。Component
getFocusOwner()
如果此窗口被聚焦,则返回此窗口的具有焦点的子组件; 否则返回null。Set<AWTKeyStroke>
getFocusTraversalKeys(int id)
获取此窗口的焦点遍历键。List<Image>
getIconImages()
返回要显示为此窗口的图标的图像序列。InputContext
getInputContext()
获取此窗口的输入上下文。<T extends EventListener>
T[]getListeners(Class<T> listenerType)
返回当前注册为FooListener
的所有对象的数组,此Window
。Locale
getLocale()
获取与此窗口相关联的Locale
对象(如果已设置了语言环境)。Dialog.ModalExclusionType
getModalExclusionType()
返回此窗口的模态排除类型。Component
getMostRecentFocusOwner()
返回此窗口的子组件,该窗口将在此窗口聚焦时接收焦点。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()
返回此窗口是否处于活动状态。boolean
isAlwaysOnTop()
返回此窗口是否为始终在上的窗口。boolean
isAlwaysOnTopSupported()
返回此窗口是否支持始终在线模式。boolean
isAutoRequestFocus()
返回此窗口是否应该随后显示焦点(调用setVisible(true)
)或被移动到前面(调用toFront()
)。boolean
isFocusableWindow()
返回此窗口是否可以成为关注的窗口,也就是说,此窗口或其任何子组件是否可以成为焦点所有者。boolean
isFocusCycleRoot()
始终返回true
因为所有Windows都必须是焦点遍历循环的根。boolean
isFocused()
返回此窗口是否聚焦。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
removeNotify()
通过删除其与其本机屏幕资源的连接,使此容器不可显示。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)
设置此窗口是否应该随后显示焦点(调用setVisible(true)
)或被移动到前面(通过调用toFront()
)。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()
如果此窗口可见,将此窗口放在前面,并可能使其成为聚焦窗口。-
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, 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
-
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, paramString, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
-
-
-
-
构造方法详细信息
-
Window
public Window(Frame owner)
构造一个新的,最初不可见的窗口,其中指定的是Frame
作为其所有者。 除非其所有者显示在屏幕上,否则该窗口将不会对焦。如果有一个安全管理器集,它被调用来检查
AWTPermission("showWindowWithoutWarningBanner")
。 如果该检查失败,并使用SecurityException
则会创建警告SecurityException
。- 参数
-
owner
-Frame
作为所有者或null
如果这个窗口没有所有者 - 异常
-
IllegalArgumentException
- 如果owner
的GraphicsConfiguration
不是从屏幕设备 -
HeadlessException
- 当GraphicsEnvironment.isHeadless
返回true
- 另请参见:
-
GraphicsEnvironment.isHeadless()
,isShowing()
-
Window
public Window(Window owner)
构造一个新的,最初看不见的窗口,其指定的Window
为Window
。 除非最近拥有Frame
或Dialog
在屏幕上显示,否则此窗口将不会被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
在屏幕上显示,否则窗口将不会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
列表中最合适尺寸的图像。 如果列表包含几个相同大小的图像,则会使用第一个图像。没有图标的无窗窗口使用平台默认图标。 拥有窗口的图标可以从所有者继承,除非明确覆盖。 将图标设置为
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()
-
removeNotify
public void 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
。该方法更改布局相关信息,因此使组件层次结构无效。
如果
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
。该方法更改布局相关信息,因此使组件层次结构无效。
如果
width
和height
值小于以前调用setMinimumSize
指定的最小大小,则自动放大width
和setMinimumSize
。该方法更改几何相关数据。 因此,本地窗口系统可以忽略这样的请求,或者它可以修改所请求的数据,使得
Window
对象被放置并且以与桌面设置密切对应的方式被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
对象被放置并且以与桌面设置紧密对应的方式被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)
已过时。 从JDK 1.1版开始,由setBounds(int, int, int, int)
替代。描述从类别复制:Component
重新整形这个组件的边界矩形。
-
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()
已过时。 从JDK版本1.5开始,替换为setVisible(boolean)
。使窗口可见。 如果窗口和/或其所有者尚未显示,则两者都可显示。 窗口将被显示之前被验证。 如果窗口已经可见,这将使窗口到前面。- 重写:
-
show
在Component
- 另请参见:
-
Component.isDisplayable()
,toFront()
-
hide
@Deprecated public void hide()
已过时。 自JDK版本1.5起,由setVisible(boolean)
替代。隐藏此窗口,其子组件及其拥有的所有子项。 窗口及其子组件可以通过调用show
再次show
。
-
dispose
public void dispose()
发布此Window
,其子组件及其所有子集所使用的所有本地屏幕资源。 也就是说,这些Component
的资源将被破坏,它们消耗的任何内存都将被返回到操作系统,并且它们将被标记为不可显示。Window
及其子组件可以通过重新生成本地资源,再次调用pack
或show
。 重新创建的Window
及其子组件的状态将与处理Window
处理的这些对象的状态相同(不考虑这些操作之间的其他修改)。注意 :当Java虚拟机(VM)中的最后一个可显示的窗口被丢弃时,VM可能会终止。 详见AWT Threading Issues 。
- 另请参见:
-
Component.isDisplayable()
,pack()
,show()
-
toFront
public void toFront()
如果此窗口可见,将此窗口放在前面,并可能使其成为聚焦窗口。将此窗口放置在堆叠顺序的顶部,并将其显示在此VM中任何其他Windows的前面。 如果此窗口不可见,将不会发生任何操作。 某些平台不允许拥有其他Windows的Windows显示在所拥有的Windows之上。 某些平台可能不允许此虚拟机将Windows位于本机应用程序的Windows或其他虚拟机的Windows上。 此权限可能取决于此VM中的窗口是否已经聚焦。 每次尝试将堆叠顺序中的该窗口移动到尽可能高的位置; 然而,开发人员不应该假设这种方法将在所有情况下将此窗口移到所有其他窗口之上。
开发人员绝对不能假定此Window是焦点或活动的窗口,直到此窗口收到WINDOW_GAINED_FOCUS或WINDOW_ACTIVATED事件为止。 在最上面的窗口是关注窗口的平台上,在以下条件下,此方法可能会将此窗口(如果尚未集中)集中起来:
- 窗口符合
isFocusableWindow()
方法中概述的要求。 - 该窗口的属性
autoRequestFocus
是true
价值。 - 本机窗口系统允许窗口聚焦。
如果此方法导致此窗口被聚焦,并且此窗口是框架或对话框,它也将被激活。 如果此窗口被聚焦,但它不是框架或对话框,那么作为此窗口的所有者的第一个框架或对话框将被激活。
如果此窗口被模态对话框阻止,则阻止对话框将显示在前面并保留在阻止窗口的上方。
- 窗口符合
-
toBack
public void toBack()
如果此窗口可见,则将此窗口发送到后面,如果该窗口是聚焦窗口或活动窗口,则可能导致其失去焦点或激活。将此窗口放置在堆叠顺序的底部,并将其显示在此VM中的任何其他Windows之后。 这个窗口不可见,不会发生任何动作。 某些平台不允许其他Windows拥有的Windows显示在其所有者的下方。 每次尝试将堆叠顺序中的窗口移动到尽可能低的位置; 然而,开发人员不应该假设这种方法会将Window在所有其他窗口中移动到所有情况。
由于本机窗口系统的变化,不能保证关注和活动的Windows的更改。 开发人员绝对不能假定此窗口不再是聚焦或活动窗口,直到此窗口收到WINDOW_LOST_FOCUS或WINDOW_DEACTIVATED事件为止。 在最上面的窗口是关注窗口的平台上,这种方法可能会导致此窗口失去焦点。 在这种情况下,这个VM中的下一个最高的可调焦窗口将会得到关注。 在堆叠顺序通常不会影响聚焦窗口的平台上,此方法可能会使焦点和活动窗口保持不变。
- 另请参见:
-
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
。 如果此参数为空,则此窗口的光标将设置为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
s的数组,包括拥有和无主。 如果从小程序调用,该数组只包含该小程序可访问的Window
。警告:此方法可能会返回系统创建的窗口,如打印对话框。 应用程序不应该假定这些对话框的存在,应用程序也不应该假定任何关于这些对话框,如组件位置,
LayoutManager
或序列化。- 结果
-
由应用程序创建的所有
Window
的阵列 - 从以下版本开始:
- 1.6
- 另请参见:
-
Frame.getFrames()
,getOwnerlessWindows()
-
getOwnerlessWindows
public static Window[] getOwnerlessWindows()
返回由此应用程序创建的所有Window
的数组,该数组没有所有者。 它们包括Frame
和Dialog
s和Window
s。 如果从小程序调用,该数组只包含该小程序可访问的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
s或一个空数组,如果没有窗口监听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addWindowListener(java.awt.event.WindowListener)
,removeWindowListener(java.awt.event.WindowListener)
-
getWindowFocusListeners
public WindowFocusListener[] getWindowFocusListeners()
返回在此窗口上注册的所有窗口焦点侦听器的数组。- 结果
-
所有这个窗口的
WindowFocusListener
s或一个空数组,如果没有窗口焦点侦听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addWindowFocusListener(java.awt.event.WindowFocusListener)
,removeWindowFocusListener(java.awt.event.WindowFocusListener)
-
getWindowStateListeners
public WindowStateListener[] getWindowStateListeners()
返回在此窗口上注册的所有窗口状态侦听器的数组。- 结果
-
所有这个窗口的
WindowStateListener
s或一个空数组,如果没有窗口状态监听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addWindowStateListener(java.awt.event.WindowStateListener)
,removeWindowStateListener(java.awt.event.WindowStateListener)
-
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
返回当前注册为FooListener
的所有对象的数组Window
。FooListener
使用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
已通过addWindowStateListener
注册 - 窗口状态事件通过
enableEvents
启用
请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 窗口状态事件 - 从以下版本开始:
- 1.4
- 另请参见:
-
Component.enableEvents(long)
- a
-
setAlwaysOnTop
public final void setAlwaysOnTop(boolean alwaysOnTop) throws SecurityException
设置此窗口是否应始终高于其他窗口。 如果有多个永久在线窗口,则它们的相对顺序是未指定的并且依赖于平台。如果某些其他窗口已经始终在顶部,则这些窗口之间的相对顺序是未指定的(取决于平台)。 除了可能是另一个永远在上的窗口之外,没有窗户可以被覆盖在始终在上的窗口。
始终在上的窗口拥有的所有窗口都会继承此状态,并自动变为始终处于顶端状态。 如果一个窗口不再是顶级的,那么它所拥有的窗口将不再一直处于顶端。 当一个始终在上的窗口发送
toBack
时 ,它的始终在上状态设置为false
。当在一个值为
true
的窗口上调用此方法时,该窗口是可见的,并且该平台在此窗口上始终支持该窗口,该窗口将立即被提起,将其“保持”在最顶端的位置。 如果窗口当前不可见,则该方法将始终处于顶部状态设置为true
但不会将窗口向前。 当窗口稍后显示时,它将始终在顶部。当在一个值为
false
的窗口上调用此方法时,始终在顶部状态设置为正常。 它也可能导致顶级窗口的z顺序的未指定的平台依赖性变化,但其他始终在上的窗口将保持在最高位置。 在具有正常状态的窗口上调用此值为false
方法不起作用。注意 :某些平台可能不支持永远在线的窗口。 要检测当前平台是否支持始终在线的窗口,请使用
Toolkit.isAlwaysOnTopSupported()
和isAlwaysOnTopSupported()
。 如果此窗口不支持永远在线模式,或者此窗口的工具包不支持永远在线窗口,则调用此方法不起作用。如果安装了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()
返回此窗口是否支持始终在线模式。 某些平台可能不支持永远在线的窗口,有些平台可能只支持某些顶级窗口; 例如,平台可能不支持永远在上的模态对话框。- 结果
-
true
,如果此窗口支持始终在线模式,此窗口的工具包支持永远在线窗口,否则为false
- 从以下版本开始:
- 1.6
- 另请参见:
-
setAlwaysOnTop(boolean)
,getToolkit()
,Toolkit.isAlwaysOnTopSupported()
-
isAlwaysOnTop
public final boolean isAlwaysOnTop()
返回此窗口是否为始终在上的窗口。- 结果
-
true
,如果窗口处于永远在上状态,否则为false
- 从以下版本开始:
- 1.5
- 另请参见:
-
setAlwaysOnTop(boolean)
-
getFocusOwner
public Component getFocusOwner()
如果此窗口被聚焦,则返回此窗口的具有焦点的子组件; 否则返回null。- 结果
- 具有焦点的子组件,如果此窗口未被聚焦,则为null
- 另请参见:
-
getMostRecentFocusOwner()
,isFocused()
-
getMostRecentFocusOwner
public Component getMostRecentFocusOwner()
返回此窗口的子组件,该窗口将在此窗口聚焦时接收焦点。 如果此窗口当前被聚焦,则此方法返回与getFocusOwner()
相同的组件。 如果此窗口未被聚焦,则将返回最近请求焦点的子组件。 如果没有子组件已经请求了焦点,并且这是一个可调焦窗口,则返回此窗口的初始可聚焦组件。 如果没有子组件已经请求了焦点,并且这是一个不可对焦窗口,则返回null。- 结果
- 当该窗口聚焦时,将接收焦点的子组件
- 从以下版本开始:
- 1.4
- 另请参见:
-
getFocusOwner()
,isFocused()
,isFocusableWindow()
-
isActive
public boolean isActive()
返回此窗口是否处于活动状态。 只有框架或对话框可能处于活动状态。 本地窗口系统可以表示活动窗口或其具有特殊装饰的儿童,例如突出显示的标题栏。 活动窗口始终是聚焦的窗口,或者是聚焦窗口的所有者的第一个框架或对话框。- 结果
- 这是否是活动的窗口。
- 从以下版本开始:
- 1.4
- 另请参见:
-
isFocused()
-
isFocused
public boolean isFocused()
返回此窗口是否聚焦。 如果存在焦点所有者,则关注的窗口是该焦点所有者的窗口,或包含该焦点所有者的窗口。 如果没有焦点所有者,则不关注窗口。如果对焦窗口是Frame或Dialog,它也是活动窗口。 否则,活动窗口是第一个框架或对话框,它是聚焦窗口的所有者。
- 结果
- 这是否是关注的窗口。
- 从以下版本开始:
- 1.4
- 另请参见:
-
isActive()
-
getFocusTraversalKeys
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
获取此窗口的焦点遍历键。 (有关每个键的完整说明,请参阅setFocusTraversalKeys
)如果没有为此窗口显式设置遍历键,则返回此窗口的父进程的遍历键。 如果没有为任何这个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()
返回此窗口是否可以成为关注的窗口,也就是说,此窗口或其任何子组件是否可以成为焦点所有者。 要使框架或对话框可true
,其true
窗口状态必须设置为true
。 对于不是可true
框架或对话框的窗口,其可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
窗口状态true
。- 结果
- 这个窗口是否可以被关注的窗口
- 从以下版本开始:
- 1.4
- 另请参见:
-
isFocusableWindow()
,setFocusableWindowState(boolean)
,isShowing()
,Component.setFocusable(boolean)
-
setFocusableWindowState
public void setFocusableWindowState(boolean focusableWindowState)
设置此窗口是否可以成为聚焦窗口,如果它符合isFocusableWindow
概述的其他要求。 如果此窗口的可false
窗口状态设置为false
,则isFocusableWindow
将返回false
。 如果此窗口的可true
窗口状态设置为true
,则isFocusableWindow
可能会返回true
或false
这取决于isFocusableWindow
可true
而必须满足的其他要求。将窗口的对焦状态设置为
false
是应用程序向AWT标识将用作浮动调色板或工具栏的窗口的标准机制,因此应该是不可对焦的窗口。 在可见的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添加到侦听器列表。 监听器已注册到此类的所有绑定属性,包括以下内容:- 这个窗口的字体(“font”)
- 这个窗口的背景颜色(“background”)
- 这个窗口的前景色(“前景”)
- 这个窗口的对焦性(“focusable”)
- 此窗口的焦点遍历键启用状态(“focusTraversalKeysEnabled”)
- 此窗口的一组FORWARD_TRAVERSAL_KEYS(“forwardFocusTraversalKeys”)
- 该窗口的一组BACKWARD_TRAVERSAL_KEYS(“backwardFocusTraversalKeys”)
- 这个窗口的UP_CYCLE_TRAVERSAL_KEYS(“upCycleFocusTraversalKeys”)
- 这个窗口的一组DOWN_CYCLE_TRAVERSAL_KEYS(“downCycleFocusTraversalKeys”)
- 此窗口的焦点遍历策略(“focusTraversalPolicy”)
- 此窗口的可调焦窗口状态(“focusableWindowState”)
- 此窗口始终处于顶级状态(“alwaysOnTop”)
如果侦听器为空,则不会抛出异常,也不会执行任何操作。
- 重写:
-
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添加到特定属性的侦听器列表中。 指定的属性可能是用户定义的,也可能是以下之一:- 这个窗口的字体(“font”)
- 这个窗口的背景颜色(“background”)
- 这个窗口的前景色(“前景”)
- 这个窗口的对焦性(“focusable”)
- 此窗口的焦点遍历键启用状态(“focusTraversalKeysEnabled”)
- 此窗口的一组FORWARD_TRAVERSAL_KEYS(“forwardFocusTraversalKeys”)
- 该窗口的一组BACKWARD_TRAVERSAL_KEYS(“backwardFocusTraversalKeys”)
- 这个窗口的UP_CYCLE_TRAVERSAL_KEYS(“upCycleFocusTraversalKeys”)
- 这个窗口的一组DOWN_CYCLE_TRAVERSAL_KEYS(“downCycleFocusTraversalKeys”)
- 此窗口的焦点遍历策略(“focusTraversalPolicy”)
- 此窗口的可调焦窗口状态(“focusableWindowState”)
- 此窗口始终处于顶级状态(“alwaysOnTop”)
如果侦听器为空,则不会抛出异常,也不会执行任何操作。
- 重写:
-
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)
已过时。 由JDK版本1.1替换为dispatchEvent(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)
已过时。 截至J2SE 1.4,由Component.applyComponentOrientation
取代。- 参数
-
rb
- 资源束
-
applyResourceBundle
@Deprecated public void applyResourceBundle(String rbName)
已过时。 截至J2SE 1.4,由Component.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()
获取与此窗口关联的AccessibleContext。 对于Windows,AccessibleContext采用AccessibleAWTWindow的形式。 如有必要,将创建一个新的AccessibleAWTWindow实例。- Specified by:
-
getAccessibleContext
在接口Accessible
- 重写:
-
getAccessibleContext
在Component
- 结果
- 一个AccessibleAWTWindow作为该窗口的AccessibleContext
- 从以下版本开始:
- 1.3
-
setLocationRelativeTo
public void setLocationRelativeTo(Component c)
根据以下情况设置窗口相对于指定组件的位置。下面提到的目标屏幕是在调用setLocationRelativeTo方法之后应该放置窗口的屏幕。
- 如果组件为
null
,或与此组件关联的GraphicsConfiguration
为null
,则窗口将放置在屏幕的中心。 中心点可以用GraphicsEnvironment.getCenterPoint
方法获得。 - 如果组件不是
null
,但它当前没有显示,则窗口将放置在与此组件关联的GraphicsConfiguration
定义的目标屏幕的中心。 - 如果组件不是
null
并且显示在屏幕上,则窗口的位置使得窗口的中心与组件的中心重合。
如果屏幕配置不允许将窗口从一个屏幕移动到另一个屏幕,则窗口仅被放置在根据上述条件确定的位置,并且其
GraphicsConfiguration
不改变GraphicsConfiguration
。注意 :如果窗口的下边缘超出屏幕,则窗口将放置在最靠近屏幕中心的
Component
侧面。 因此,如果组件位于屏幕的右侧,窗口将放置在左侧,反之亦然。如果在计算了窗口位置之后,窗口的上,左或右边缘超出了屏幕,则窗口位于窗口的上,左或右边缘与屏幕的相应边缘。 如果窗口的左边缘和右边缘都不在屏幕之外,窗口将放置在屏幕的左侧。 如果顶部和底部边缘都超出屏幕,则会发生类似的放置。 在这种情况下,窗口被放置在屏幕的顶部。
该方法更改几何相关数据。 因此,本地窗口系统可以忽略这样的请求,或者它可以修改所请求的数据,使得
Window
对象被放置并且以与桌面设置紧密对应的方式被Window
。- 参数
-
c
- 确定窗口位置的组件 - 从以下版本开始:
- 1.4
- 另请参见:
-
GraphicsEnvironment.getCenterPoint()
- 如果组件为
-
createBufferStrategy
public void createBufferStrategy(int numBuffers)
为此组件创建一个新的多缓冲策略。 多缓冲对于渲染性能很有用。 此方法尝试使用提供的缓冲区数量创建可用的最佳策略。 它将始终使用该数量的缓冲区创建一个BufferStrategy
。 首先尝试翻页策略,然后尝试使用加速缓冲区的策略策略。 最后,使用非加速的制动策略。每次调用此方法时,将丢弃此组件的现有缓冲区策略。
- 参数
-
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,或者如果cap是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
- 如果窗口显示在屏幕上,并且位置为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
指定。该方法更改布局相关信息,因此使组件层次结构无效。
如果
width
或height
值小于上一次拨打setMinimumSize
所规定的最小尺寸,则自动放大width
或setMinimumSize
。该方法更改几何相关数据。 因此,本地窗口系统可以忽略这样的请求,或者它可以修改所请求的数据,使得
Window
对象被放置并且以与桌面设置紧密相对应的方式被Window
。- 重写:
-
setBounds
在Component
- 参数
-
x
- 这个组件的新的 x- coordinate -
y
- 这个组件的新 y-坐标 -
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
指定该方法更改布局相关信息,因此使组件层次结构无效。
如果
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
-
IllegalComponentStateException
- 如果窗口处于全屏模式,1.0f
透明度小于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
的部件保持可见和可点击。 如果形状参数为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颜色成分绘制像素,则它将变得视觉上透明。 如果像素的alpha等于1.0f,则像素完全不透明。 alpha颜色分量的中间值使像素半透明。 在此模式下,窗口的背景绘制为给定背景颜色的alpha值。 如果此方法的参数的alpha值等于
0
,则完全不绘制背景。给定像素的半透明度的实际水平也取决于窗口不透明度(见
setOpacity(float)
)以及该窗口的当前形状(参见setShape(Shape)
)。请注意,绘制Alpha值为
0
的像素可能会禁用该像素上的鼠标事件处理。 这是依赖于平台的行为。 为了确保鼠标事件不被分派到特定的像素,像素必须从窗口的形状中排除。由于本机平台要求,启用每像素半透明模式可能会改变该窗口的图形配置。
- 重写:
-
setBackground
在Component
- 参数
-
bgColor
- 成为这个窗口的背景颜色的颜色。 - 异常
-
IllegalComponentStateException
- 如果给定的背景颜色的alpha值小于1.0f
并且窗口被装饰 -
IllegalComponentStateException
- 如果给定背景颜色的alpha值小于1.0f
,并且窗口处于全屏模式 -
UnsupportedOperationException
-如果给定的背景颜色的α值小于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()
指示窗口当前是否不透明。该方法返回
false
,如果窗口的背景色是不null
和颜色的Alpha分量小于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)
-
-