public class JWindow extends Window implements Accessible, RootPaneContainer
JWindow
是可以在用户桌面上的任意位置显示的容器。
它没有标题栏,窗口管理按钮,或者与相关的其他装饰品JFrame
,但它仍然是一个“一等公民”用户的桌面,并且可以在任何地方存在。
JWindow
组件包含一个JRootPane
作为其唯一的孩子。 contentPane
应该是contentPane
的任何孩子的JWindow
。 作为一种方便, add
, remove
和setLayout
这个类的方法将被覆盖,所以他们委托给相应方法的调用ContentPane
。 例如,您可以将子组件添加到窗口中,如下所示:
window.add(child);
而孩子将被添加到contentPane。
contentPane
将永远不是null
。
尝试将其设置为null
将导致JWindow
引发异常。
默认的contentPane
将有一个BorderLayout
管理器。
有关添加,删除和设置LayoutManager
的LayoutManager的详细信息,请参阅JWindow
。
请参阅JRootPane
文档的完整描述contentPane
, glassPane
和layeredPane
组件。
在多屏幕环境中,您可以在不同的屏幕设备上创建一个JWindow
。 见Window
以获取更多信息。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,对所有JavaBeans的长期存储的支持已经添加到java.beans
包中。 请参阅XMLEncoder
。
JRootPane
Modifier and Type | Class and Description |
---|---|
protected class |
JWindow.AccessibleJWindow
这个类实现了可访问性支持
JWindow 类。
|
Window.AccessibleAWTWindow, Window.Type
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
protected AccessibleContext |
accessibleContext
可访问的上下文属性。
|
protected JRootPane |
rootPane
JRootPane 实例管理这个框架的
contentPane 和可选的
menuBar ,以及
glassPane 。
|
protected boolean |
rootPaneCheckingEnabled
如果为真,那么
add 和
setLayout 将被转发到
contentPane 。
|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
JWindow()
创建一个没有指定所有者的窗口。
|
JWindow(Frame owner)
创建具有指定所有者框架的窗口。
|
JWindow(GraphicsConfiguration gc)
创建一个带有指定屏幕设备
GraphicsConfiguration 的窗口。
|
JWindow(Window owner)
创建具有指定所有者窗口的窗口。
|
JWindow(Window owner, GraphicsConfiguration gc)
创建一个窗口,其中包含指定的所有者窗口和屏幕设备的
GraphicsConfiguration 。
|
Modifier and Type | Method and Description |
---|---|
protected void |
addImpl(Component comp, Object constraints, int index)
添加指定的孩子
Component 。
|
protected JRootPane |
createRootPane()
由构造函数调用方法创建默认值
rootPane 。
|
AccessibleContext |
getAccessibleContext()
获取与此JWindow关联的AccessibleContext。
|
Container |
getContentPane()
返回
Container ,这是该窗口的
contentPane 。
|
Component |
getGlassPane()
返回此窗口的
glassPane Component 。
|
Graphics |
getGraphics()
为此组件创建图形上下文。
|
JLayeredPane |
getLayeredPane()
返回此窗口的
layeredPane 对象。
|
JRootPane |
getRootPane()
返回此窗口的
rootPane 对象。
|
TransferHandler |
getTransferHandler()
获取
transferHandler 属性。
|
protected boolean |
isRootPaneCheckingEnabled()
返回是否向
add 和
setLayout 的
contentPane 。
|
protected String |
paramString()
返回此
JWindow 的字符串表示
JWindow 。
|
void |
remove(Component comp)
从容器中删除指定的组件。
|
void |
repaint(long time, int x, int y, int width, int height)
在time毫秒内
time 绘制该组件的
time 矩形。
|
void |
setContentPane(Container contentPane)
设置此窗口的
contentPane 属性。
|
void |
setGlassPane(Component glassPane)
设置
glassPane 属性。
|
void |
setLayeredPane(JLayeredPane layeredPane)
设置
layeredPane 属性。
|
void |
setLayout(LayoutManager manager)
设置
LayoutManager 。
|
protected void |
setRootPane(JRootPane root)
为此窗口设置新的
rootPane 对象。
|
protected void |
setRootPaneCheckingEnabled(boolean enabled)
设置是否向
add 和
setLayout 的
contentPane 。
|
void |
setTransferHandler(TransferHandler newHandler)
设置
transferHandler 属性,这是一种支持将数据传输到此组件的机制。
|
void |
update(Graphics g)
致电
paint(g) 。
|
protected void |
windowInit()
由构造函数调用正确地初始化
JWindow 。
|
addNotify, addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBackground, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setOpacity, setShape, setSize, setSize, setType, setVisible, show, toBack, toFront
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, 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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected JRootPane rootPane
JRootPane
实例管理
contentPane
和可选的
menuBar
为这个框架,以及
glassPane
。
protected boolean rootPaneCheckingEnabled
add
和setLayout
将被转发到contentPane
。
它最初是假的,但是,当设置为true JWindow
构造。
protected AccessibleContext accessibleContext
public JWindow()
这个构造函数将组件的区域属性返回的值JComponent.getDefaultLocale
。
HeadlessException
- 如果
GraphicsEnvironment.isHeadless()
返回true。
GraphicsEnvironment.isHeadless()
,
Window.isFocusableWindow()
,
JComponent.getDefaultLocale()
public JWindow(GraphicsConfiguration gc)
GraphicsConfiguration
创建一个窗口。
此窗口将无法对焦。
这个构造函数将组件的区域属性返回的值JComponent.getDefaultLocale
。
gc
-所述GraphicsConfiguration
被用于构造与新的窗口;
如果gc为null
,则假定系统默认为GraphicsConfiguration
HeadlessException
- 如果
GraphicsEnvironment.isHeadless()
返回true。
IllegalArgumentException
- 如果
gc
不是从屏幕设备。
GraphicsEnvironment.isHeadless()
,
Window.isFocusableWindow()
,
JComponent.getDefaultLocale()
public JWindow(Frame owner)
owner
是null
,则将使用共享所有者,并且此窗口将不可对焦。
此外,除非其所有者显示在屏幕上,否则此窗口将无法对焦。
这个构造函数将组件的区域属性返回的值JComponent.getDefaultLocale
。
owner
- 显示窗口的框架
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。
GraphicsEnvironment.isHeadless()
,
Window.isFocusableWindow()
,
JComponent.getDefaultLocale()
public JWindow(Window owner)
owner
为null
,则将使用共享所有者,并且此窗口将不可对焦。
这个构造函数将组件的区域属性返回的值JComponent.getDefaultLocale
。
owner
- 显示窗口的窗口
HeadlessException
- 如果
GraphicsEnvironment.isHeadless()
返回true。
GraphicsEnvironment.isHeadless()
,
Window.isFocusableWindow()
,
JComponent.getDefaultLocale()
public JWindow(Window owner, GraphicsConfiguration gc)
GraphicsConfiguration
的窗口。
如果owner
是null
,则将使用共享所有者,并且此窗口将不可对焦。
这个构造函数将组件的区域属性返回的值JComponent.getDefaultLocale
。
owner
- 显示窗口的窗口
gc
-所述GraphicsConfiguration
被用于构造与新的窗口;
如果gc为null
,假设系统默认为GraphicsConfiguration
,除非owner
也为空,否则将使用来自共享所有者帧的GraphicsConfiguration
。
HeadlessException
- 如果
GraphicsEnvironment.isHeadless()
返回true。
IllegalArgumentException
- 如果
gc
不是从屏幕设备。
GraphicsEnvironment.isHeadless()
,
Window.isFocusableWindow()
,
JComponent.getDefaultLocale()
protected void windowInit()
JWindow
。
protected JRootPane createRootPane()
rootPane
。
protected boolean isRootPaneCheckingEnabled()
add
和
setLayout
是否转接到
contentPane
。
add
和setLayout
,则为true;
否则为假
addImpl(java.awt.Component, java.lang.Object, int)
, setLayout(java.awt.LayoutManager)
, setRootPaneCheckingEnabled(boolean)
, RootPaneContainer
public void setTransferHandler(TransferHandler newHandler)
transferHandler
属性,这是一种支持将数据传输到此组件中的机制。
使用null
如果该组件不支持数据传输操作。
如果系统属性suppressSwingDropSupport
(默认值)为false
,并且此组件上的当前下降目标为null
或不是用户设置的下拉目标,则此方法将按如下方式更改下降目标:如果newHandler
为null
,则将清除掉目标。 如果不是null
它会安装一个新的DropTarget
。
注意:当与JWindow
一起使用时, TransferHandler
仅提供数据导入功能,因为数据导出相关方法当前键入JComponent
。
有关详细信息 ,请参阅Java Tutorial How to Use Drag and Drop and Data Transfer中的一节。
newHandler
- 新的
TransferHandler
TransferHandler
, getTransferHandler()
, Component.setDropTarget(java.awt.dnd.DropTarget)
public TransferHandler getTransferHandler()
transferHandler
属性。
transferHandler
属性
TransferHandler
, setTransferHandler(javax.swing.TransferHandler)
public void update(Graphics g)
paint(g)
。
该方法被覆盖,以防止不必要的调用来清除背景。
update
在
Container
类
g
- 要绘画的
Graphics
上下文
Component.update(Graphics)
protected void setRootPaneCheckingEnabled(boolean enabled)
add
和
setLayout
的
contentPane
。
enabled
- 如果
add
和
setLayout
转发,则为true,如果它们应直接在
JWindow
上操作,则为false。
addImpl(java.awt.Component, java.lang.Object, int)
, setLayout(java.awt.LayoutManager)
, isRootPaneCheckingEnabled()
, RootPaneContainer
protected void addImpl(Component comp, Object constraints, int index)
Component
。
该方法被覆盖以有条件地转移到contentPane
。
默认情况下,将儿童添加到contentPane
而不是框架,详情请参阅RootPaneContainer
。
addImpl
在
Container
comp
- 要增强的组件
constraints
- 要遵守的约束
index
- 指数
IllegalArgumentException
- 如果
index
无效
IllegalArgumentException
- 如果将容器的父项添加到自身
IllegalArgumentException
- 如果向
IllegalArgumentException
添加窗口
setRootPaneCheckingEnabled(boolean)
, RootPaneContainer
public void remove(Component comp)
comp
不是rootPane
,这将转发到contentPane
。
如果comp
不是JWindow
或contentPane
的孩子,这将不会做任何事情。
remove
在
Container
comp
- 要删除的组件
NullPointerException
- 如果
comp
为空
Container.add(java.awt.Component)
, RootPaneContainer
public void setLayout(LayoutManager manager)
setLayout
在
Container
manager
-
LayoutManager
setRootPaneCheckingEnabled(boolean)
, RootPaneContainer
public JRootPane getRootPane()
rootPane
对象。
getRootPane
在界面
RootPaneContainer
rootPane
属性
setRootPane(javax.swing.JRootPane)
,
RootPaneContainer.getRootPane()
protected void setRootPane(JRootPane root)
rootPane
对象。
该方法由构造函数调用。
root
- 新的
rootPane
属性
getRootPane()
public Container getContentPane()
Container
,这是该窗口的
contentPane
。
getContentPane
中的
RootPaneContainer
contentPane
属性
setContentPane(java.awt.Container)
,
RootPaneContainer.getContentPane()
public void setContentPane(Container contentPane)
contentPane
属性。
该方法由构造函数调用。
setContentPane
在接口
RootPaneContainer
contentPane
- 新的
contentPane
IllegalComponentStateException
- (运行时异常)如果内容窗格参数是
null
getContentPane()
,
RootPaneContainer.setContentPane(java.awt.Container)
public JLayeredPane getLayeredPane()
layeredPane
对象。
getLayeredPane
在接口
RootPaneContainer
layeredPane
属性
setLayeredPane(javax.swing.JLayeredPane)
,
RootPaneContainer.getLayeredPane()
public void setLayeredPane(JLayeredPane layeredPane)
layeredPane
属性。
该方法由构造函数调用。
setLayeredPane
在接口
RootPaneContainer
layeredPane
- 新的
layeredPane
对象
IllegalComponentStateException
- (运行时异常)如果内容窗格参数是
null
getLayeredPane()
,
RootPaneContainer.setLayeredPane(javax.swing.JLayeredPane)
public Component getGlassPane()
glassPane Component
。
getGlassPane
在接口
RootPaneContainer
glassPane
属性
setGlassPane(java.awt.Component)
,
RootPaneContainer.getGlassPane()
public void setGlassPane(Component glassPane)
glassPane
属性。
该方法由构造函数调用。
setGlassPane
在界面
RootPaneContainer
glassPane
- 此窗口的
glassPane
对象
getGlassPane()
,
RootPaneContainer.setGlassPane(java.awt.Component)
public Graphics getGraphics()
null
如果组件当前是不可显示。
getGraphics
在
Component
null
Component.paint(java.awt.Graphics)
public void repaint(long time, int x, int y, int width, int height)
time
绘制该组件的time
矩形。
有关如何处理重绘的详细信息,请参阅RepaintManager
。
repaint
在
Component
time
- 更新前的最大时间(以毫秒为单位)
x
-
x坐标
y
-
y坐标
width
- 宽度
height
- 高度
RepaintManager
protected String paramString()
JWindow
的字符串表示JWindow
。
该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。
返回的字符串可能为空,但可能不是null
。
paramString
在
Container
JWindow
的字符串表示
JWindow
public AccessibleContext getAccessibleContext()
getAccessibleContext
在界面
Accessible
getAccessibleContext
在
Window
类