public class Window extends Container implements Accessible
Window
对象是一个没有国界,没有菜单栏的顶层窗口。一个窗口的默认布局
BorderLayout
一个窗口必须有一个框架、对话框或另一个被定义为它的所有者的窗口,当它被构造的时候。
在多屏幕环境,你可以通过构建Window(Window, GraphicsConfiguration)
的Window
创建一个不同的屏幕设备的Window
。这是一个GraphicsConfiguration
对象的目标对象的GraphicsConfiguration
屏幕装置。
在一个虚拟设备的多屏幕环境中,桌面区域可以跨越多个物理屏幕设备,所有配置的边界都是相对于虚拟设备坐标系统。虚拟坐标系的原点位于初级物理屏幕的左上角位置。根据虚拟设备中的主屏幕的位置,负坐标是可能的,如下图所示。
在这样的环境中,当调用setLocation
,你必须通过一个虚拟坐标的方法。同样,在Window
调用getLocationOnScreen
返回虚拟设备坐标。打电话给一个GraphicsConfiguration
的getBounds
方法在虚拟坐标系中找到它的起源。
下面的代码设置一个Window
位置在(10,10)相对于相应的GraphicsConfiguration
物理屏幕的起源。如果GraphicsConfiguration
的界限是不考虑的Window
位置将定在(10,10)相对于虚拟坐标系统,会出现在主要的物理屏幕,这可能是不同的从指定的GraphicsConfiguration
物理屏幕。
窗口w =新窗口(窗口的所有者,graphicsconfiguration GC);矩形边界= getbounds() GC;w.setlocation(10 + 10 +界限。X、Y的范围。);
注:位置和顶层窗口大小(包括Window
s,Frame
s,和Dialog
s)是桌面窗口管理系统的控制下。电话setLocation
,setSize
,和setBounds
请求(不是指令)被转发到窗口管理系统。每一次努力都会有这样的要求。然而,在某些情况下,窗口管理系统可能会忽略这样的请求,或修改请求的几何为了以一种更符合桌面设置的位置和尺寸Window
。
由于本地事件处理的异步性,通过getBounds
,getLocation
,getLocationOnScreen
返回的结果,和getSize
可能不反映在屏幕上的窗口的实际几何直到最后的请求已经被处理。在后续请求的处理过程中,这些值可能会相应地改变,而窗口管理系统满足请求。
应用程序可以设置大小和一个看不见的Window
位置任意,但窗口管理系统随后可能改变其大小和/或位置时,Window
是可见的。一个或多个ComponentEvent
s将产生新的几何表示。
Windows可以产生以下windowevents:windowopened,windowclosed,windowgainedfocus,WindowLostFocus。
。WindowEvent
,
addWindowListener(java.awt.event.WindowListener)
,
BorderLayout
,
Serialized Form
Modifier and Type | Class and Description |
---|---|
protected class |
Window.AccessibleAWTWindow
这个类实现了对
Window 类可访问性支持。
|
static class |
Window.Type
可用空窗口类型枚举。
|
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
Window(Frame owner)
构建了一个新的,最初的隐形窗与指定的
Frame 作为它的主人。
|
Window(Window owner)
构建了一个新的,最初的隐形窗与指定的
Window 作为它的主人。
|
Window(Window owner, GraphicsConfiguration gc)
构建了一个新的,最初的隐形窗与指定的所有者
Window 和
GraphicsConfiguration 屏幕的装置。
|
Modifier and Type | Method and Description |
---|---|
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(ResourceBundle rb)
过时的。
在J2SE 1.4,取而代之的
Component.applyComponentOrientation 。
|
void |
applyResourceBundle(String rbName)
过时的。
在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()
返回该窗口的子组件,该窗口的子组件,如果此窗口为焦点,则返回空值,否则。
|
Set<AWTKeyStroke> |
getFocusTraversalKeys(int id)
获取此窗口的焦点遍历键。
|
List<Image> |
getIconImages()
返回要显示为该窗口的图标的图像序列。
|
InputContext |
getInputContext()
获取此窗口的输入上下文。
|
<T extends EventListener> |
getListeners(类<T> listenerType)
返回对象的当前注册为
FooListener s在这
Window 数组。
|
Locale |
getLocale()
得到
Locale 对象与窗口关联,如果现场已设置。
|
Dialog.ModalExclusionType |
getModalExclusionType()
返回此窗口的模式排除类型。
|
Component |
getMostRecentFocusOwner()
返回此窗口的子组件,该窗口将在该窗口集中时接收焦点。
|
float |
getOpacity()
返回窗口的不透明度。
|
Window[] |
getOwnedWindows()
返回一个数组,包含此窗口当前拥有的所有窗口。
|
Window |
getOwner()
返回此窗口的所有者。
|
static Window[] |
getOwnerlessWindows()
返回所有
Window s这个应用程序,没有所有者创建了一个数组。
|
Shape |
getShape()
返回窗口的形状。
|
Toolkit |
getToolkit()
返回此框架的工具包。
|
Window.Type |
getType()
返回窗口的类型。
|
String |
getWarningString()
获取与此窗口显示的警告字符串。
|
WindowFocusListener[] |
getWindowFocusListeners()
返回在这个窗口上注册的所有窗口焦点侦听器的数组。
|
WindowListener[] |
getWindowListeners()
返回在这个窗口上注册的所有窗口侦听器的数组。
|
static Window[] |
getWindows()
返回所有
Window s数组,都拥有与无主,通过这个程序。
|
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 因为所有窗户必须是焦点遍历循环的根。
|
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)
什么都不做,因为窗口必须始终是一个焦点遍历周期的根。
|
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(Dimension d)
调整该组件具有宽度和高度
d.height
d.width 。
|
void |
setSize(int width, int height)
调整该组件具有宽度和高度
height
width 。
|
void |
setType(Window.Type type)
设置窗口的类型。
|
void |
setVisible(boolean b)
显示或隐藏这
Window 取决于参数的值
b 。
|
void |
show()
过时的。
作为JDK 1.5版本,取而代之的
setVisible(boolean) 。
|
void |
toBack()
如果这个窗口是可见的,将此窗口发送到后面,并可能导致它失去焦点或激活,如果它是聚焦或活动窗口。
|
void |
toFront()
如果这个窗口是可见的,将这个窗口带到前面,并可能使它成为聚焦窗口。
|
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
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, 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, remove, 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, transferFocusUpCycle
public Window(Frame owner)
Frame
作为它的主人。除非它的所有者窗口将在屏幕上显示被聚焦。
如果存在安全管理器,它是用来检查AWTPermission("showWindowWithoutWarningBanner")
。如果检查失败,一SecurityException
然后警告旗帜创建。
owner
-
Frame
作为所有者或
null
如果这个窗口没有主人
IllegalArgumentException
-如果
owner
的
GraphicsConfiguration
不是从一个屏幕的设备
HeadlessException
当
GraphicsEnvironment.isHeadless
返回
true
GraphicsEnvironment.isHeadless()
,
isShowing()
public Window(Window owner)
Window
作为它的主人。这个窗口将除非它最近
Frame
Dialog
拥有或在屏幕上显示被聚焦。
如果存在安全管理器,它是用来检查AWTPermission("showWindowWithoutWarningBanner")
。如果检查失败,一SecurityException
然后警告旗帜创建。
owner
-
Window
作为所有者或
null
如果这个窗口没有主人
IllegalArgumentException
-如果
owner
的
GraphicsConfiguration
不是从一个屏幕的设备
HeadlessException
当
GraphicsEnvironment.isHeadless()
返回
true
GraphicsEnvironment.isHeadless()
,
isShowing()
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
GraphicsEnvironment.isHeadless()
,
GraphicsConfiguration.getBounds()
,
isShowing()
public List<Image> getIconImages()
此方法返回内部存储的列表的副本,所以返回的对象上的所有操作将不会影响窗口的行为。
setIconImages(java.util.List<? extends java.awt.Image>)
,
setIconImage(Image)
public void setIconImages(List<? extends Image> icons)
getIconImages
将总是返回一个拷贝的
icons
列表。
根据不同的平台能力一个或多个不同尺寸的图像将被用来作为窗口的图标。
的icons
列表扫描从最合适的图像尺寸。如果列表中包含多个相同大小的图像,第一个将被使用。
无指定使用Windows平台的默认图标没有图标。一个拥有窗口的图标可以从业主继承除非显式重写。设置图标null
或空列表恢复默认的行为。
注:本机窗口系统可以使用不同尺寸不同的图像代表一个窗口,根据上下文(例如窗花、窗口列表、任务栏等)。他们也可以只使用一个单一的图像的所有上下文或没有图像在所有。
icons
-图标显示的图像列表。
getIconImages()
,
setIconImage(Image)
public void setIconImage(Image image)
这种方法可以用来代替setIconImages()
指定一个图像作为一个窗口的图标。
以下声明:
seticonimage(图像);等价于:
ArrayList <图像> 图像>,< ImageList =新的ArrayList();ImageList添加(图像);seticonimages(ImageList); 图像>
注:本机窗口系统可以使用不同尺寸不同的图像代表一个窗口,根据上下文(例如窗花、窗口列表、任务栏等)。他们也可以只使用一个单一的图像的所有上下文或没有图像在所有。
image
的图标图像显示。
setIconImages(java.util.List<? extends java.awt.Image>)
,
getIconImages()
public void addNotify()
addNotify
方法重写,继承类
Container
Component.isDisplayable()
,
Container.removeNotify()
public void removeNotify()
removeNotify
方法重写,继承类
Container
Component.isDisplayable()
,
Container.addNotify()
public void pack()
setMinimumSize
方法。
如果窗口和/或其所有者不可显示的,它们都是在计算首选大小显示了。该窗口在计算其大小后进行了验证。
public void setMinimumSize(Dimension minimumSize)
getMinimumSize
将总是返回这个值。如果当前窗口的大小是小于
minimumSize
大小的窗口会自动放大到荣誉的最小尺寸。
如果setSize
或setBounds
方法与宽度或高度小于被setMinimumSize
方法窗口自动放大,满足minimumSize
后来称为指定值。的minimumSize
值也影响pack
行为的方法。
默认行为是通过设置最小尺寸参数的null
值恢复。
调整大小的操作可能会受到限制,如果用户试图调整窗口下面的minimumSize
价值。这种行为是依赖于平台的。
setMinimumSize
方法重写,继承类
Component
minimumSize
-这个窗口的新的最小尺寸
Component.setMinimumSize(java.awt.Dimension)
,
Container.getMinimumSize()
,
Component.isMinimumSizeSet()
,
setSize(Dimension)
,
pack()
public void setSize(Dimension d)
d.height
这种方法改变布局的相关信息,因此,无效的组件层次结构。
的d.width
和d.height
值自动放大,如果小于最小尺寸由以前的调用指定setMinimumSize
。
该方法改变了几何相关的数据。因此,本地窗口系统可以忽略这些要求,也可以修改请求的数据,使Window
对象被放置和大小的一种方式,密切对应的桌面设置。
d.width
。
setSize
方法重写,继承类
Component
d
的维度中指定这个组件的新尺寸
Component.getSize()
,
setBounds(int, int, int, int)
,
setMinimumSize(java.awt.Dimension)
public void setSize(int width, int height)
height
width
。
这种方法改变布局的相关信息,因此,无效的组件层次结构。
的width
和height
值自动放大,如果小于最小尺寸由以前的调用指定setMinimumSize
。
该方法改变了几何相关的数据。因此,本地窗口系统可以忽略这些要求,也可以修改请求的数据,使Window
对象被放置和大小的一种方式,密切对应的桌面设置。
setSize
方法重写,继承类
Component
width
在像素这个组件的新宽度
height
像素的新高度
Component.getSize()
,
setBounds(int, int, int, int)
,
setMinimumSize(java.awt.Dimension)
public void setLocation(int x, int y)
x
和
y
参数指定。
这种方法改变布局的相关信息,因此,无效的组件层次结构。
该方法改变了几何相关的数据。因此,本地窗口系统可以忽略这些要求,也可以修改请求的数据,使Window
对象被放置和大小的一种方式,密切对应的桌面设置。
setLocation
方法重写,继承类
Component
x
-在父母的坐标空间中的新位置的左上角坐标nullx
y
-在父母的坐标空间中的新位置的左上角坐标nully
Component.getLocation()
,
Component.setBounds(int, int, int, int)
,
Component.invalidate()
public void setLocation(Point p)
p
指定。点
p
是在父母的坐标空间。
这种方法改变布局的相关信息,因此,无效的组件层次结构。
该方法改变了几何相关的数据。因此,本地窗口系统可以忽略这些要求,也可以修改请求的数据,使Window
对象被放置和大小的一种方式,密切对应的桌面设置。
setLocation
方法重写,继承类
Component
p
点-定义新位置的左上角,在这个组件的父坐标空间
Component.getLocation()
,
Component.setBounds(int, int, int, int)
,
Component.invalidate()
@Deprecated public void reshape(int x, int y, int width, int height)
setBounds(int, int, int, int)
。
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
的front.
如果false
,隐藏这Window
,其子组件,和其所拥有的所有孩子。的Window
和它的子组件可以可见再次打电话#setVisible(true)
。
Component.isDisplayable()
,
Component.setVisible(boolean)
,
toFront()
,
dispose()
,
setAutoRequestFocus(boolean)
,
isFocusableWindow()
@Deprecated public void show()
setVisible(boolean)
。
show
方法重写,继承类
Component
Component.isDisplayable()
,
toFront()
@Deprecated public void hide()
setVisible(boolean)
。
show
。
public void dispose()
Window
,使用本机的屏幕资源的子组件,和其所拥有的所有孩子。那就是,这些
Component
s资源将被破坏,任何内存消耗将被返回给操作系统,他们将被标记为不可显示。
的Window
和它的子组件可以再次显示的后续调用pack
或show
重建本土资源,重新创建的Window
及其组件的状态将对这些对象的状态相同的点在哪里Window
配置(不占额外的修改之间的动作)。
注:当最后一个显示窗口的java虚拟机(VM)内设置,虚拟机可能会终止。更多信息见 AWT Threading Issues。
Component.isDisplayable()
,
pack()
,
show()
public void toFront()
将此窗口放置在堆叠顺序的顶部,并将其显示在该虚拟机的任何其他窗口的前面。如果这个窗口不可见,则不会发生任何操作。有些平台不允许有自己的其他窗口的窗口出现在那些拥有的窗口的顶部。有些平台可能不允许VM将窗户上面的本机应用程序的Windows或Windows的其他虚拟机。此权限可能取决于此虚拟机中的一个窗口是否已聚焦。每一次尝试都将使这个窗口尽可能高的堆叠顺序,但是,开发人员不应该假设,这种方法将移动这个窗口高于所有其他的窗口在每一个情况。
开发商不能假定这个窗口是活动窗口集中或直到这个窗口接收window_gained_focus或window_activated事件。在平台上的最顶层的窗口聚焦窗口,此方法将可能聚焦窗口(如果它不是已经集中在下列条件):
isFocusableWindow()
方法符合要求。autoRequestFocus
的true
价值。如果这个方法使这个窗口被聚焦,这个窗口是一个框架或一个对话框,它也将被激活。如果这个窗口是集中的,但它不是一个框架或一个对话框,那么是这个窗口的所有者的第一个框架或对话框将被激活。
如果这个窗口被模态对话框阻塞,那么阻塞对话框将被带到前面,并保持在被封锁的窗口上方。
public void toBack()
将此窗口放置在堆叠顺序的底部,并将此窗口显示在该虚拟机的任何其他窗口后面。没有行动会发生是这个窗口是不可见的。一些平台不允许其他窗口所有者拥有的窗口出现在他们的所有者之下。每一次尝试将这个窗口尽可能低的在堆叠顺序,但是,开发人员不应该假设这种方法将移动这个窗口低于所有其他的窗口在每一个情况。
因为在本地窗口系统的变化,不能保证对重点活动窗口可以改变。开发商不认为这个窗口不再是集中到这个窗口或活动窗口接收window_lost_focus或window_deactivated事件。在平台上的最顶层的窗口聚焦窗口,此方法将可能导致这个窗口失去焦点。在这种情况下,下一个最高的,可在这个虚拟机将接收焦点的窗口。平台上的堆叠顺序通常不影响聚焦窗口的地方,这种方法将可能离开集中和活动窗口不变。
toFront()
public Toolkit getToolkit()
getToolkit
方法重写,继承类
Component
Toolkit
,
Toolkit.getDefaultToolkit()
,
Component.getToolkit()
public final String getWarningString()
AWTPermission("showWindowWithoutWarningBanner")
窗是不安全的。
如果窗口是安全的,那么getWarningString
返回null
。如果窗口是不安全的,这种方法检查系统属性awt.appletWarning
返回属性的字符串值。
public Locale getLocale()
Locale
对象,如果现场已设置。如果没有设置任何区域设置,则返回默认的区域设置。
public InputContext getInputContext()
getInputContext
方法重写,继承类
Component
null
如果没有上下文可以确定
Component.getInputContext()
public void setCursor(Cursor cursor)
可如果java平台实现和/或本地系统不支持改变鼠标光标的形状没有视觉效果。
setCursor
方法重写,继承类
Component
cursor
-一个由
Cursor
类定义的常数。如果这个参数为空则此窗口的光标将设置在型cursor.default_cursor。
Component.getCursor()
,
Cursor
public Window getOwner()
public Window[] getOwnedWindows()
public static Window[] getWindows()
Window
s数组,都拥有与无主,通过这个程序。如果从一个程序称为数组只包含由程序访问的
Window
s。
警告:这个方法可能返回系统创建的窗口,如打印对话框。应用程序不应承担这些对话的存在,也不应该承担这些对话框应用程序等组件的位置的话,LayoutManager
s或序列化。
Frame.getFrames()
,
getOwnerlessWindows()
public static Window[] getOwnerlessWindows()
Window
s数组。他们包括
Frame
s和无主
Dialog
s和
Window
s。如果从一个程序称为数组只包含由程序访问的
Window
s。
警告:这个方法可能返回系统创建的窗口,如打印对话框。应用程序不应承担这些对话的存在,也不应该承担这些对话框应用程序等组件的位置的话,LayoutManager
s或序列化。
Frame.getFrames()
,
getWindows()
public void setModalExclusionType(Dialog.ModalExclusionType exclusionType)
Dialog.ModalExclusionType
。
如果给定的类型不支持,NO_EXCLUDE
使用。
注意:改变一个可见的窗口的模式排除类型可能有没有效果,直到它被隐藏,然后再次显示。
exclusionType
-此窗口的模态排除类型;一个
null
价值相当于
NO_EXCLUDE
SecurityException
-如果调用线程没有权限设置模态排除属性窗口与给定的
exclusionType
Dialog.ModalExclusionType
,
getModalExclusionType()
,
Toolkit.isModalExclusionTypeSupported(java.awt.Dialog.ModalExclusionType)
public Dialog.ModalExclusionType getModalExclusionType()
Dialog.ModalExclusionType
,
setModalExclusionType(java.awt.Dialog.ModalExclusionType)
public void addWindowListener(WindowListener l)
指对AWT的线程模型的细节AWT Threading Issues。
l
-窗口的监听器
removeWindowListener(java.awt.event.WindowListener)
,
getWindowListeners()
public void addWindowStateListener(WindowStateListener l)
l
-窗口状态的听众
removeWindowStateListener(java.awt.event.WindowStateListener)
,
getWindowStateListeners()
public void addWindowFocusListener(WindowFocusListener l)
参考AWT Threading Issues对AWT的线程模型的细节。
l
-窗口焦点的倾听者
removeWindowFocusListener(java.awt.event.WindowFocusListener)
,
getWindowFocusListeners()
public void removeWindowListener(WindowListener l)
参考AWT Threading Issues对AWT的线程模型的细节。
l
-窗口的监听器
addWindowListener(java.awt.event.WindowListener)
,
getWindowListeners()
public void removeWindowStateListener(WindowStateListener l)
l
-窗口状态的听众
addWindowStateListener(java.awt.event.WindowStateListener)
,
getWindowStateListeners()
public void removeWindowFocusListener(WindowFocusListener l)
参考AWT Threading Issues对AWT的线程模型的细节。
l
-窗口焦点的倾听者
addWindowFocusListener(java.awt.event.WindowFocusListener)
,
getWindowFocusListeners()
public WindowListener[] getWindowListeners()
WindowListener
s或空数组如果没有窗户的听众正在注册
addWindowListener(java.awt.event.WindowListener)
,
removeWindowListener(java.awt.event.WindowListener)
public WindowFocusListener[] getWindowFocusListeners()
WindowFocusListener
s或空数组如果没有窗口焦点的听众正在注册
addWindowFocusListener(java.awt.event.WindowFocusListener)
,
removeWindowFocusListener(java.awt.event.WindowFocusListener)
public WindowStateListener[] getWindowStateListeners()
WindowStateListener
s或空数组如果没有窗口状态的听众正在注册
addWindowStateListener(java.awt.event.WindowStateListener)
,
removeWindowStateListener(java.awt.event.WindowStateListener)
public <T extends EventListener> T[] getListeners(类<T> listenerType)
FooListener
s在这
Window
数组。
FooListener
s使用
addFooListener
方法注册。如果没有这样
您可以指定一个类的listenerType
字面的说法,如FooListener.class
。例如,你可以查询窗口的听众与下面的代码一Window
w
:
windowlistener [] WLS =(windowlistener [ ])(w.getlisteners(windowlistener。类));听众的存在,此方法将返回空数组。
getListeners
方法重写,继承类
Container
listenerType
-听众的类型要求;这个参数应该指定一个接口,从
java.util.EventListener
FooListener
s数组,或一个空数组如果没有这样的听众已添加
ClassCastException
-如果
listenerType
不指定一个类或接口实现
java.util.EventListener
null
listenerType
NullPointerException
getWindowListeners()
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)
protected void processWindowEvent(WindowEvent e)
addWindowListener
注册enableEvents
注意,如果参数是null
行为是不可能导致异常。
e
-窗口事件
Component.enableEvents(long)
protected void processWindowFocusEvent(WindowEvent e)
addWindowFocusListener
enableEvents
注意,如果参数是null
行为是不可能导致异常。
e
-窗口焦点事件
Component.enableEvents(long)
protected void processWindowStateEvent(WindowEvent e)
WindowStateListener
对象。注:此方法将不会被调用,除非该窗口启用了窗口状态事件。当发生以下情况之一:
WindowStateListener
注册通过addWindowStateListener
enableEvents
注意,如果参数是null
行为是不可能导致异常。
e
-窗口状态事件
Component.enableEvents(long)
public final void setAlwaysOnTop(boolean alwaysOnTop) throws SecurityException
如果一些其他窗口已经总是在上面,那么这些窗口之间的相对顺序是未指定的(取决于平台)。没有一个窗口可以被带到总是在顶上的窗口,除了可能是另一个总是在顶部窗口。
一个总是在顶部窗口拥有的所有窗口继承这个状态,并自动成为永远在顶部。如果一个窗口停止了总是在顶部,它拥有的窗口将不再总是在顶部。当一个总是在顶部窗口发送toBack
,它总是在最好的状态设置为false
。
当这种方法被称为一个价值true
窗口和窗口是可见的和平台支持总是在上面这个窗口,窗口立即提出,“贴”在最上方位置。如果窗口是` T目前可见,此方法设置总是在最好的状态true
但不带窗口了。当窗口显示后,它将永远在顶部。
当这种方法被称为一个价值false
的总是在最好的状态窗口设置为正常。它也可能导致一个未指定的,在顶层窗口的Z轴次序依赖平台的变化,但总是在顶部窗口将保持在最顶端的位置。在一个窗口有一个正常的状态值false
调用该方法没有效果。
注:有些平台可能不上一直支持Windows。检测是否总是在顶部窗口的当前平台支持,使用Toolkit.isAlwaysOnTopSupported()
和isAlwaysOnTopSupported()
。如果总是在顶部模式不支持这个窗口或这个窗口的工具包不支持总是在顶部的窗口,调用此方法没有任何效果。
如果安装了SecurityManager,调用线程必须被授予awtpermission”setwindowalwaysontop”来设置此属性的值。如果没有得到许可,此方法将引发SecurityException,和属性的当前值将保持不变。
alwaysOnTop
-如果窗口应该在其它窗口
SecurityException
-如果调用线程没有权限设置的值总是在顶部的财产
isAlwaysOnTop()
,
toFront()
,
toBack()
,
AWTPermission
,
isAlwaysOnTopSupported()
,
getToolkit()
,
Toolkit.isAlwaysOnTopSupported()
public boolean isAlwaysOnTopSupported()
true
,如果总是在最好的方式是这个窗口的支持和这个窗口的工具包支持总是在上面的窗户,
false
否则
setAlwaysOnTop(boolean)
,
getToolkit()
,
Toolkit.isAlwaysOnTopSupported()
public final boolean isAlwaysOnTop()
true
,如果窗口是总是在最好的状态,
false
否则
setAlwaysOnTop(boolean)
public Component getFocusOwner()
getMostRecentFocusOwner()
,
isFocused()
public Component getMostRecentFocusOwner()
getFocusOwner()
相同。如果这个窗口不集中,那么最近请求的焦点的子组件将被返回。如果没有子组件所要求的重点,这是一个聚焦窗口,在此窗口的初始聚焦组件返回。如果没有子组件所要求的重点,这是一种非聚焦窗口,则返回null。
getFocusOwner()
,
isFocused()
,
isFocusableWindow()
public boolean isActive()
isFocused()
public boolean isFocused()
如果聚焦的窗口是一个框架或一个对话框,它也是活动窗口。否则,活动窗口是聚焦窗口的所有者的第一个框架或对话框。
isActive()
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
setFocusTraversalKeys
)
如果未显式设置此窗口的遍历键,则返回此窗口的父遍历键。如果遍历关键不是显式设置为任何窗口的祖先,那么目前的关键是恢复默认keyboardfocusmanager遍历。
getFocusTraversalKeys
方法重写,继承类
Container
id
-一个keyboardfocusmanager.forward_traversal_keys,keyboardfocusmanager.backward_traversal_keys,keyboardfocusmanager.up_cycle_traversal_keys,或keyboardfocusmanager.down_cycle_traversal_keys
IllegalArgumentException
-如果我不是一个keyboardfocusmanager.forward_traversal_keys,keyboardfocusmanager.backward_traversal_keys,keyboardfocusmanager.up_cycle_traversal_keys,或keyboardfocusmanager.down_cycle_traversal_keys
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
public final void setFocusCycleRoot(boolean focusCycleRoot)
setFocusCycleRoot
方法重写,继承类
Container
focusCycleRoot
-这个值被忽略
isFocusCycleRoot()
,
Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
Container.getFocusTraversalPolicy()
public final boolean isFocusCycleRoot()
true
因为所有窗户必须是焦点遍历循环的根。
isFocusCycleRoot
方法重写,继承类
Container
true
setFocusCycleRoot(boolean)
,
Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
Container.getFocusTraversalPolicy()
public final Container getFocusCycleRootAncestor()
null
因为Windows没有祖先;他们代表的组件层次结构的顶部。
getFocusCycleRootAncestor
方法重写,继承类
Component
null
Container.isFocusCycleRoot()
public final boolean isFocusableWindow()
true
。一个窗口,这是不是一个框架或对话框被聚焦,其聚焦窗口状态必须设置为
true
,最近拥有框架或对话框必须在屏幕上显示出来,它必须包含在它的焦点遍历循环至少一个组件。如果这些条件不满足,那么无论这个窗口或其任何部分可以成为焦点的主人。
true
如果此窗口可以聚焦窗口;
false
否则
getFocusableWindowState()
,
setFocusableWindowState(boolean)
,
isShowing()
,
Component.isFocusable()
public boolean getFocusableWindowState()
isFocusableWindow
其他要求成为焦点窗口。如果此方法返回
false
,然后
isFocusableWindow
也会返回
false
。如果此方法返回
true
,然后
isFocusableWindow
可能返回
true
或
false
取决于必须满足的一个窗口被聚焦的其他要求。
默认情况下,所有的窗户都true
可调焦窗口状态。
isFocusableWindow()
,
setFocusableWindowState(boolean)
,
isShowing()
,
Component.setFocusable(boolean)
public void setFocusableWindowState(boolean focusableWindowState)
isFocusableWindow
概述其他要求成为焦点窗口。如果此窗口的聚焦窗口的状态设置为
false
,然后
isFocusableWindow
将返回
false
。如果这个窗口的聚焦窗口的状态设置为
true
,然后
isFocusableWindow
可能返回
true
或
false
取决于必须满足的一个窗口被聚焦的其他要求。
设置窗口的集中度状态false
是应用程序识别对AWT窗口将被用来作为一个浮动面板或工具栏的标准机制,因此应该是一种非聚焦窗口。在可见Window
设置集中度状态有一个延迟效应在某些平台上实际变化可能只发生在Window
成为隐藏然后再次可见。为了保证跨平台的一致的行为,将Window
的聚焦状态时,Window
是无形的,然后显示它。
focusableWindowState
——无论这个窗口可以聚焦窗口
isFocusableWindow()
,
getFocusableWindowState()
,
isShowing()
,
Component.setFocusable(boolean)
public void setAutoRequestFocus(boolean autoRequestFocus)
setVisible(true)
),或移动到前面(一个电话
toFront()
)。
注意,setVisible(true)
可称为间接(如显示窗口的所有者时,使窗口被显示)。toFront()
也可称为间接的(例如,当setVisible(true)
叫做已经可见窗口)。在所有这些情况下,这个属性也起作用。
属性的值不是由拥有的窗口继承的。
autoRequestFocus
-无论这个窗口应该集中在随后被证明或被移动到前面
isAutoRequestFocus()
,
isFocusableWindow()
,
setVisible(boolean)
,
toFront()
public boolean isAutoRequestFocus()
autoRequestFocus
价值
setAutoRequestFocus(boolean)
public void addPropertyChangeListener(PropertyChangeListener listener)
如果侦听器为空,则不会引发异常,并没有执行任何动作。
addPropertyChangeListener
方法重写,继承类
Container
listener
- propertychangelistener加以补充
Component.removePropertyChangeListener(java.beans.PropertyChangeListener)
,
addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
如果侦听器为空,则不会引发异常,并没有执行任何动作。
addPropertyChangeListener
方法重写,继承类
Container
propertyName
-上面列出的属性名称
listener
- propertychangelistener加以补充
addPropertyChangeListener(java.beans.PropertyChangeListener)
,
Component.removePropertyChangeListener(java.beans.PropertyChangeListener)
public boolean isValidateRoot()
Window
对象验证根,因此,他们重写此方法以返回true
。
isValidateRoot
方法重写,继承类
Container
true
Container.isValidateRoot()
@Deprecated public boolean postEvent(Event e)
dispatchEvent(AWTEvent)
。
postEvent
接口
MenuContainer
postEvent
方法重写,继承类
Component
public boolean isShowing()
isShowing
方法重写,继承类
Component
true
组件是否显示,
false
否则
Component.setVisible(boolean)
@Deprecated public void applyResourceBundle(ResourceBundle rb)
Component.applyComponentOrientation
。
@Deprecated public void applyResourceBundle(String rbName)
Component.applyComponentOrientation
。
public void setType(Window.Type type)
IllegalComponentStateException
-如果窗口显示。
IllegalArgumentException
-如果类型是
null
Component.isDisplayable()
,
getType()
public Window.Type getType()
setType(java.awt.Window.Type)
public AccessibleContext getAccessibleContext()
getAccessibleContext
接口
Accessible
getAccessibleContext
方法重写,继承类
Component
public void setLocationRelativeTo(Component c)
下面提到的目标的屏幕是一个屏幕的窗口应该放在setlocationrelativeto方法称为。
null
,或与此组件的GraphicsConfiguration
是null
,窗口放在屏幕的中心。中心点可以与GraphicsEnvironment.getCenterPoint
方法得到的。null
,但目前还没有显示,窗口被放置在与组件关联的GraphicsConfiguration
定义目标屏幕的中心。null
和显示在屏幕上,然后窗口位于这样一个中心窗口与组件的中心。如果屏幕配置不允许窗口从一个屏幕移动到另一个,然后窗口是放置在位置确定根据以上条件及其GraphicsConfiguration
不变。
注:如果窗口的下边缘的画面,然后窗口放置在Component
,靠近屏幕中心的侧面。因此,如果该组件是在屏幕的右侧部分,该窗口被放置在它的左边,反之亦然。
如果在窗口位置已计算后,上、左、右边缘的窗口都是屏幕外的,那么该窗口位于这样一种方式,即上、左、右边缘的窗口正好与屏幕的相应边缘相吻合。如果窗口的左和右边缘都在屏幕外,窗口放置在屏幕的左边。类似的位置将发生,如果顶部和底部边缘都是在屏幕上。在这种情况下,窗口被放置在屏幕的顶部。
该方法改变了几何相关的数据。因此,本地窗口系统可以忽略这些要求,也可以修改请求的数据,使Window
对象被放置和大小的一种方式,密切对应的桌面设置。
c
-组件所涉及的窗口的位置的确定
GraphicsEnvironment.getCenterPoint()
public void createBufferStrategy(int numBuffers)
BufferStrategy
。一个页面翻转的策略是首先,然后一个位图使用加速缓冲策略。最后,一个加速blitting策略应用。
每次这种方法被调用时,这个组件的现有缓冲策略将被丢弃。
numBuffers
-数量的缓冲区创建
IllegalArgumentException
-如果numbuffers小于1。
IllegalStateException
如果组件不显示
Component.isDisplayable()
,
getBufferStrategy()
public void createBufferStrategy(int numBuffers, BufferCapabilities caps) throws AWTException
每次这种方法被调用时,这个组件的现有缓冲策略将被丢弃。
numBuffers
-数量的缓冲区的创建,包括前台缓冲区
caps
-所需能力创建缓存策略;不能
null
AWTException
如果能力提供不能支持或满足;这可能发生,例如,如果没有足够的记忆加速目前可用的,或者如果页面翻转是不可能指定。
IllegalArgumentException
-如果numbuffers小于1,或者是
null
帽
getBufferStrategy()
public BufferStrategy getBufferStrategy()
BufferStrategy
返回。这个方法如果
BufferStrategy
尚未创建或已设置返回null。
createBufferStrategy(int)
public void setLocationByPlatform(boolean locationByPlatform)
getLocation
)接下来的时间窗口是可见的。这种行为类似于一个本地窗口显示没有编程设置它的位置。大多数窗口系统的层叠窗口如果位置不明确。一旦窗口显示在屏幕上,实际的位置将被确定。
这种行为也可以通过设置系统属性“java AWT窗口。。。locationbyplatform”到“真实”,虽然调用此方法优先。
电话setVisible
,setLocation
和setBounds
调用setLocationByPlatform
清除窗口属性后。
例如,在执行下面的代码之后:
setlocationbyplatform(真的);show(真的);布尔标志= islocationbyplatform();窗口将在平台的默认位置和
flag
表明将
false
。
在下面的示例中:
setlocationbyplatform(真的);setlocation(10,10);布尔标志= islocationbyplatform();show(真的);窗口将显示在(10,10)和
flag
将
false
。
locationByPlatform
-
true
如果这个窗口应该出现在默认的位置,如果在当前位置
false
IllegalComponentStateException
-如果窗口是屏幕上呈现的是
true
locationbyplatform。
setLocation(int, int)
,
isShowing()
,
setVisible(boolean)
,
isLocationByPlatform()
,
System.getProperty(String)
public boolean isLocationByPlatform()
true
如果这个窗口将出现在本地窗口系统下一时间窗口是可见的默认位置。此方法总是返回
false
如果窗口是屏幕上的显示。
setLocationByPlatform(boolean)
,
isShowing()
public void setBounds(int x, int y, int width, int height)
x
和
y
指定,和新的大小是由
width
和
height
指定。
这种方法改变布局的相关信息,因此,无效的组件层次结构。
的width
或height
值自动放大,如果小于最小尺寸由以前的调用指定setMinimumSize
。
该方法改变了几何相关的数据。因此,本地窗口系统可以忽略这些要求,也可以修改请求的数据,使Window
对象被放置和大小的一种方式,密切对应的桌面设置。
setBounds
方法重写,继承类
Component
x
-这个组件的新nullx坐标
y
-这个组件的新nully坐标
width
-这个组件的新
width
height
-这个组件的新
height
Component.getBounds()
,
setLocation(int, int)
,
setLocation(Point)
,
setSize(int, int)
,
setSize(Dimension)
,
setMinimumSize(java.awt.Dimension)
,
setLocationByPlatform(boolean)
,
isLocationByPlatform()
public void setBounds(Rectangle r)
r
。该组件的新位置由
r.x
和
r.y
指定,和新的尺寸是由
r.width
和
r.height
这种方法改变布局的相关信息,因此,无效的组件层次结构。
的r.width
或r.height
值会自动放大如果小于最小尺寸由以前的调用指定setMinimumSize
。
该方法改变了几何相关的数据。因此,本地窗口系统可以忽略这些要求,也可以修改请求的数据,使Window
对象被放置和大小的一种方式,密切对应的桌面设置。
setBounds
方法重写,继承类
Component
r
-新的边框组件
Component.getBounds()
,
setLocation(int, int)
,
setLocation(Point)
,
setSize(int, int)
,
setSize(Dimension)
,
setMinimumSize(java.awt.Dimension)
,
setLocationByPlatform(boolean)
,
isLocationByPlatform()
public float getOpacity()
setOpacity(float)
,
GraphicsDevice.WindowTranslucency
public void setOpacity(float opacity)
的不透明度值是在范围[ 0 .. 1 ]。请注意,设置0的不透明度级别可能或可能不会在这个窗口中禁用鼠标事件处理。这是一个平台依赖的行为。
必须满足以下条件才能设置透明度值小于1.0f
:
TRANSLUCENT
必须由底层系统支持Frame.setUndecorated(boolean)
和Dialog.setUndecorated(boolean)
)GraphicsDevice.setFullScreenWindow(Window)
)如果请求的不透明度值小于1.0f
,与上述任何条件都不具备,窗口透明度不会改变,并将引发IllegalComponentStateException
。
个别像素的透明度水平也可以通过他们的颜色的alpha分量的影响(见setBackground(Color)
)和当前窗口的形状(见setShape(Shape)
)。
opacity
-不透明度设置窗口
IllegalArgumentException
-如果不透明度是范围[ 0,1 ]
IllegalComponentStateException
-如果窗口装饰和不透明度小于
1.0f
IllegalComponentStateException
-如果窗口是全屏模式,和不透明度小于
1.0f
UnsupportedOperationException
-如果
GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT
半透明是不支持和不透明度小于
1.0f
getOpacity()
,
setBackground(Color)
,
setShape(Shape)
,
Frame.isUndecorated()
,
Dialog.isUndecorated()
,
GraphicsDevice.WindowTranslucency
,
GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
public Shape getShape()
setShape(shape)
相同,但它是保证代表相同的形状。
null
形状如果没有形状为指定的窗口
setShape(Shape)
,
GraphicsDevice.WindowTranslucency
public void setShape(Shape shape)
设置一个形状从窗口的某些部分切断。只有部分属于给定的Shape
保持可见和可点击。如果形状参数是null
,此方法恢复默认的形状,使窗口矩形在大多数平台。
必须满足下列条件,以设置非空形状:
PERPIXEL_TRANSPARENT
必须由底层系统支持Frame.setUndecorated(boolean)
和Dialog.setUndecorated(boolean)
)GraphicsDevice.setFullScreenWindow(Window)
)如果请求的形状不null
,及任何上述条件不满足,这个窗口的形状不会改变,无论是UnsupportedOperationException
或IllegalComponentStateException
将抛出。
个别像素的透明度水平也可以通过他们的颜色的alpha分量的影响(见setBackground(Color)
)和不透明度值(见setOpacity(float)
)。更多细节见GraphicsDevice.WindowTranslucency
。
shape
的形状设置窗口
IllegalComponentStateException
如果形状不
null
和窗口装饰
IllegalComponentStateException
如果形状不
null
和窗户在全屏幕模式
UnsupportedOperationException
如果形状不
null
和
PERPIXEL_TRANSPARENT
透明度不支持
getShape()
,
setBackground(Color)
,
setOpacity(float)
,
Frame.isUndecorated()
,
Dialog.isUndecorated()
,
GraphicsDevice.WindowTranslucency
,
GraphicsDevice.isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
public Color getBackground()
请注意,返回颜色的α分量表示窗口是否在非不透明(每像素半透明)模式中。
getBackground
方法重写,继承类
Component
setBackground(Color)
,
isOpaque()
,
GraphicsDevice.WindowTranslucency
public void setBackground(Color bgColor)
如果视窗系统支持PERPIXEL_TRANSLUCENT
半透明的背景颜色的alpha分量可能这个窗口操作模式的影响:它指示这个窗口必须是不透明的(α等于1.0f
)或每像素半透明(α小于1.0f
)。如果给定的背景颜色是null
,窗户是完全不透明的。
必须满足所有以下条件,以使该窗口的每个像素的透明度模式:
PERPIXEL_TRANSLUCENT
必须支持的图形设备,该窗口位于Frame.setUndecorated(boolean)
和Dialog.setUndecorated(boolean)
)GraphicsDevice.setFullScreenWindow(Window)
)如果请求的背景颜色的alpha分量小于1.0f
,及任何上述条件不满足,这个窗口的背景颜色不会改变,alpha分量的给定的背景颜色不会影响此窗口的操作模式,无论是UnsupportedOperationException
或IllegalComponentStateException
将抛出。
当窗口是每一个像素的半透明,绘图子系统尊重每个单独的像素的α值。如果一个像素得到与阿尔法颜色分量等于零,它成为视觉上透明。如果该像素的alpha等于1.0f,像素是完全不透明的。阿尔法颜色组件的临时值使像素半透明。在这种模式下,窗口的背景画与给定的背景颜色的α值。如果这个方法的参数α值等于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()
public boolean isOpaque()
该方法返回false
如果窗口的背景颜色不null
及颜色的alpha分量小于1.0f
。该方法返回true
否则。
isOpaque
方法重写,继承类
Component
true
如果窗口是不透明的,
false
否则
getBackground()
,
setBackground(Color)
public void paint(Graphics g)
paint
方法重写,继承类
Container
g
-指定的图形窗口
Component.update(Graphics)
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.