JavaTM 2 Platform
Standard Ed. 6

javax.swing
類別 JWindow

java.lang.Object
  繼承者 java.awt.Component
      繼承者 java.awt.Container
          繼承者 java.awt.Window
              繼承者 javax.swing.JWindow
所有已實作的介面:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer

public class JWindow
extends Window
implements Accessible, RootPaneContainer

JWindow 是一個容器,可以顯示在使用者桌面上的任何位置。它沒有標題欄、視窗管理按鈕或者其他與 JFrame 關聯的修飾,但它仍然是使用者桌面的“一類別居民”,可以存在於桌面上的任何位置。

JWindow 元件包含一個 JRootPane 作為其僅有的子元件。contentPane 應為 JWindow 的所有子視窗的父視窗。作為一個便捷的 add 及其變體,removesetLayout 已被覆寫並根據需要轉發到 contentPane。這意味著您可以寫入:

       window.add(child);
 
該子視窗也被添加到 contentPane。contentPane 將始終為非 null。嘗試將其設置為 null 將導致 JWindow 拋出異常。預設的 contentPane 將在其上設置 BorderLayout 管理器。有關添加、刪除和設置 JWindowLayoutManager 的詳細資訊,請參閱 RootPaneContainer

有關 contentPaneglassPanelayeredPane 元件的完整描述,請參閱 JRootPane 文檔。

在多螢幕環境中,可以在不同的螢幕設備上創建 JWindow。請參閱 Window 以獲取更多資訊。

警告:Swing 不是執行緒安全的。有關更多資訊,請參閱 Swing's Threading Policy

警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans 套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder

另請參見:
JRootPane

巢狀類別摘要
protected  class JWindow.AccessibleJWindow
          此類別實作對 JWindow 類別的可存取性支持。
 
從類別 java.awt.Window 繼承的巢狀類別/介面
Window.AccessibleAWTWindow
 
從類別 java.awt.Container 繼承的巢狀類別/介面
Container.AccessibleAWTContainer
 
從類別 java.awt.Component 繼承的巢狀類別/介面
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
欄位摘要
protected  AccessibleContext accessibleContext
          可存取的上下文屬性。
protected  JRootPane rootPane
          管理此框架的 contentPane 和可選 menuBar 以及 glassPaneJRootPane 實例。
protected  boolean rootPaneCheckingEnabled
          如果為 true,則對 addsetLayout 的調用將轉發到 contentPane
 
從類別 java.awt.Component 繼承的欄位
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
從介面 java.awt.image.ImageObserver 繼承的欄位
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
建構子摘要
JWindow()
          創建未指定所有者的視窗。
JWindow(Frame owner)
          使用指定的所有者框架創建視窗。
JWindow(GraphicsConfiguration gc)
          使用螢幕設備的指定 GraphicsConfiguration 創建視窗。
JWindow(Window owner)
          使用指定的所有者視窗創建視窗。
JWindow(Window owner, GraphicsConfiguration gc)
          使用螢幕設備的指定所有者視窗和 GraphicsConfiguration 創建視窗。
 
方法摘要
protected  void addImpl(Component comp, Object constraints, int index)
          添加指定的子 Component
protected  JRootPane createRootPane()
          由該建構子調用以創建預設的 rootPane
 AccessibleContext getAccessibleContext()
          獲取與此 JWindow 關聯的 AccessibleContext。
 Container getContentPane()
          返回作為此視窗的 contentPaneContainer
 Component getGlassPane()
          返回此視窗的 glassPane Component
 Graphics getGraphics()
          為元件創建一個圖形上下文。
 JLayeredPane getLayeredPane()
          返回此視窗的 layeredPane 物件。
 JRootPane getRootPane()
          返回此視窗的 rootPane 物件。
 TransferHandler getTransferHandler()
          獲取 transferHandler 屬性。
protected  boolean isRootPaneCheckingEnabled()
          返回對 addsetLayout 的調用是否轉發到 contentPane
protected  String paramString()
          返回此 JWindow 的字元串表示形式。
 void remove(Component comp)
          從該容器中移除指定元件。
 void repaint(long time, int x, int y, int width, int height)
          在 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)
          設置對 addsetLayout 的調用是否轉發到 contentPane
 void setTransferHandler(TransferHandler newHandler)
          設置 transferHandler 屬性,該屬性是支持將資料傳輸到此元件的機制。
 void update(Graphics g)
          調用 paint(g)
protected  void windowInit()
          由該建構子調用以正確初始化 JWindow
 
從類別 java.awt.Window 繼承的方法
addNotify, addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
從類別 java.awt.Container 繼承的方法
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, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
從類別 java.awt.Component 繼承的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, isOpaque, 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, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

欄位詳細資訊

rootPane

protected JRootPane rootPane
管理此框架的 contentPane 和可選 menuBar 以及 glassPaneJRootPane 實例。

另請參見:
getRootPane(), setRootPane(javax.swing.JRootPane)

rootPaneCheckingEnabled

protected boolean rootPaneCheckingEnabled
如果為 true,則對 addsetLayout 的調用將轉發到 contentPane。其最初設置為 false,但在建構 JWindow 時將被設置為 true。

另請參見:
isRootPaneCheckingEnabled(), setRootPaneCheckingEnabled(boolean), RootPaneContainer

accessibleContext

protected AccessibleContext accessibleContext
可存取的上下文屬性。

建構子詳細資訊

JWindow

public JWindow()
創建未指定所有者的視窗。此視窗不可獲得焦點。

此建構子將元件的區域屬性設置為 JComponent.getDefaultLocale 返回的值。

拋出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
另請參見:
GraphicsEnvironment.isHeadless(), Window.isFocusableWindow(), JComponent.getDefaultLocale()

JWindow

public JWindow(GraphicsConfiguration gc)
使用螢幕設備的指定 GraphicsConfiguration 創建視窗。此視窗不可獲得焦點。

此建構子將元件的區域屬性設置為 JComponent.getDefaultLocale 返回的值。

參數:
gc - 用以建構新視窗的 GraphicsConfiguration;如果 gc 為 null,則假定系統預設的 GraphicsConfiguration
拋出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
IllegalArgumentException - 如果 gc 不是來自螢幕設備。
從以下版本開始:
1.3
另請參見:
GraphicsEnvironment.isHeadless(), Window.isFocusableWindow(), JComponent.getDefaultLocale()

JWindow

public JWindow(Frame owner)
使用指定的所有者框架創建視窗。如果 ownernull,則使用共享所有者,而且此視窗不可獲得焦點。而且,只有其所有者正顯示在螢幕上時此視窗才可獲得焦點。

此建構子將元件的 locale 屬性設置為 JComponent.getDefaultLocale 返回的值。

參數:
owner - 從中顯示該視窗的框架
拋出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
另請參見:
GraphicsEnvironment.isHeadless(), Window.isFocusableWindow(), JComponent.getDefaultLocale()

JWindow

public JWindow(Window owner)
使用指定的所有者視窗創建視窗。只有在其所有者正顯示在螢幕上時此視窗才可獲得焦點。如果 ownernull,則使用共享所有者,而且此視窗不可獲得焦點。

此建構子將元件的 locale 屬性設置為 JComponent.getDefaultLocale 返回的值。

參數:
owner - 從中顯示該視窗的視窗
拋出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
另請參見:
GraphicsEnvironment.isHeadless(), Window.isFocusableWindow(), JComponent.getDefaultLocale()

JWindow

public JWindow(Window owner,
               GraphicsConfiguration gc)
使用螢幕設備的指定所有者視窗和 GraphicsConfiguration 創建視窗。如果 ownernull,則使用共享所有者,而且此視窗不可獲得焦點。

此建構子將元件的 locale 屬性設置為 JComponent.getDefaultLocale 返回的值。

參數:
owner - 從中顯示該視窗的視窗
gc - 用以建構新視窗的 GraphicsConfiguration;如果 gc 為 null,則假定系統預設的 GraphicsConfiguration,除非 owner 也為 null,在此情況下將使用來自共享所有者框架的 GraphicsConfiguration
拋出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
IllegalArgumentException - 如果 gc 不是來自螢幕設備。
從以下版本開始:
1.3
另請參見:
GraphicsEnvironment.isHeadless(), Window.isFocusableWindow(), JComponent.getDefaultLocale()
方法詳細資訊

windowInit

protected void windowInit()
由該建構子調用以正確初始化 JWindow


createRootPane

protected JRootPane createRootPane()
由該建構子調用以創建預設的 rootPane


isRootPaneCheckingEnabled

protected boolean isRootPaneCheckingEnabled()
返回對 addsetLayout 的調用是否轉發到 contentPane

返回:
如果 addsetLayout 被轉發,則返回 true;否則返回 false
另請參見:
addImpl(java.awt.Component, java.lang.Object, int), setLayout(java.awt.LayoutManager), setRootPaneCheckingEnabled(boolean), RootPaneContainer

setTransferHandler

public void setTransferHandler(TransferHandler newHandler)
設置 transferHandler 屬性,該屬性是支持將資料傳輸到此元件的機制。如果該元件不支持資料傳輸操作,則使用 null

如果系統屬性 suppressSwingDropSupportfalse(預設值),並且此元件上的當前放置目標為 null 或者不是使用者設置的放置目標,那麼此方法將按以下方式更改放置目標:如果 newHandlernull,則它將清除放置目標。如果不為 null,則它將安裝一個新 DropTarget

註:當用於 JWindow 時,TransferHandler 只提供資料導入功能,與資料導出有關的方法當前用於 JComponent

有關更多資訊,請參閱 The Java Tutorial 中的 How to Use Drag and Drop and Data Transfer 一節。

參數:
newHandler - 新 TransferHandler
從以下版本開始:
1.6
另請參見:
TransferHandler, getTransferHandler(), Component.setDropTarget(java.awt.dnd.DropTarget)

getTransferHandler

public TransferHandler getTransferHandler()
獲取 transferHandler 屬性。

返回:
transferHandler 屬性的值
從以下版本開始:
1.6
另請參見:
TransferHandler, setTransferHandler(javax.swing.TransferHandler)

update

public void update(Graphics g)
調用 paint(g)。此方法已被覆寫以防止因不必要的調用而清除背景。

覆寫:
類別 Container 中的 update
參數:
g - 要在其中進行繪製的 Graphics 上下文
另請參見:
Component.update(Graphics)

setRootPaneCheckingEnabled

protected void setRootPaneCheckingEnabled(boolean enabled)
設置對 addsetLayout 的調用是否轉發到 contentPane

參數:
enabled - 如果 addsetLayout 被轉發,則為 true;如果應直接在 JWindow 上操作,則為 false。
另請參見:
addImpl(java.awt.Component, java.lang.Object, int), setLayout(java.awt.LayoutManager), isRootPaneCheckingEnabled(), RootPaneContainer

addImpl

protected void addImpl(Component comp,
                       Object constraints,
                       int index)
添加指定的子 Component。覆寫此方法以有條件地轉發對 contentPane 的調用。預設情況下,子元件被添加到 contentPane 而非框架,請參閱 RootPaneContainer 以獲取詳細資訊。

覆寫:
類別 Container 中的 addImpl
參數:
comp - 要增強的元件
constraints - 要考慮的限制
index - 索引
拋出:
IllegalArgumentException - 如果 index 無效
IllegalArgumentException - 如果將容器的父級添加到自身
IllegalArgumentException - 如果將一個視窗添加到視窗
另請參見:
setRootPaneCheckingEnabled(boolean), RootPaneContainer

remove

public void remove(Component comp)
從該容器中移除指定元件。如果 comp 不是 rootPane,這將把該調用轉發到 contentPane。如果 comp 不是 JWindowcontentPane 的子物件,將不會執行任何操作。

覆寫:
類別 Container 中的 remove
參數:
comp - 要移除的元件
拋出:
NullPointerException - 如果 comp 為 null
另請參見:
Container.add(java.awt.Component), RootPaneContainer

setLayout

public void setLayout(LayoutManager manager)
設置 LayoutManager。覆寫以有條件地將調用轉發到 contentPane。有關更多資訊,請參閱 RootPaneContainer

覆寫:
類別 Container 中的 setLayout
參數:
manager - LayoutManager
另請參見:
setRootPaneCheckingEnabled(boolean), RootPaneContainer

getRootPane

public JRootPane getRootPane()
返回此視窗的 rootPane 物件。

指定者:
介面 RootPaneContainer 中的 getRootPane
返回:
此視窗的 rootPane 屬性
另請參見:
setRootPane(javax.swing.JRootPane), RootPaneContainer.getRootPane()

setRootPane

protected void setRootPane(JRootPane root)
設置此視窗的新 rootPane 物件。此方法由建構子調用。

參數:
root - 新的 rootPane 屬性
另請參見:
getRootPane()

getContentPane

public Container getContentPane()
返回作為此視窗的 contentPaneContainer

指定者:
介面 RootPaneContainer 中的 getContentPane
返回:
contentPane 屬性
另請參見:
setContentPane(java.awt.Container), RootPaneContainer.getContentPane()

setContentPane

public void setContentPane(Container contentPane)
設置此視窗的 contentPane 屬性。此方法由建構子調用。

指定者:
介面 RootPaneContainer 中的 setContentPane
參數:
contentPane - 新的 contentPane
拋出:
IllegalComponentStateException - (運行時異常)如果內容窗格參數為 null
另請參見:
getContentPane(), RootPaneContainer.setContentPane(java.awt.Container)

getLayeredPane

public JLayeredPane getLayeredPane()
返回此視窗的 layeredPane 物件。

指定者:
介面 RootPaneContainer 中的 getLayeredPane
返回:
layeredPane 屬性
另請參見:
setLayeredPane(javax.swing.JLayeredPane), RootPaneContainer.getLayeredPane()

setLayeredPane

public void setLayeredPane(JLayeredPane layeredPane)
設置 layeredPane 屬性。此方法由建構子調用。

指定者:
介面 RootPaneContainer 中的 setLayeredPane
參數:
layeredPane - 新的 layeredPane 物件
拋出:
IllegalComponentStateException - (運行時異常)如果內容窗格參數為 null
另請參見:
getLayeredPane(), RootPaneContainer.setLayeredPane(javax.swing.JLayeredPane)

getGlassPane

public Component getGlassPane()
返回此視窗的 glassPane Component

指定者:
介面 RootPaneContainer 中的 getGlassPane
返回:
glassPane 屬性
另請參見:
setGlassPane(java.awt.Component), RootPaneContainer.getGlassPane()

setGlassPane

public void setGlassPane(Component glassPane)
設置 glassPane 屬性。此方法由建構子調用。

指定者:
介面 RootPaneContainer 中的 setGlassPane
參數:
glassPane - 此視窗的 glassPane 物件
另請參見:
getGlassPane(), RootPaneContainer.setGlassPane(java.awt.Component)

getGraphics

public Graphics getGraphics()
為元件創建一個圖形上下文。如果元件當前是不可顯示的,則此方法返回 null

覆寫:
類別 Component 中的 getGraphics
返回:
元件的圖形上下文,如果其沒有,則返回 null
從以下版本開始:
1.6
另請參見:
Component.paint(java.awt.Graphics)

repaint

public void repaint(long time,
                    int x,
                    int y,
                    int width,
                    int height)
time 毫秒內重繪此元件的指定矩形區域。有關如何處理重繪的細節,請參閱 RepaintManager

覆寫:
類別 Component 中的 repaint
參數:
time - 更新前等待的最長時間(以毫秒為單位)
x - x 坐標
y - y 坐標
width - 寬度
height - 高度
從以下版本開始:
1.6
另請參見:
RepaintManager

paramString

protected String paramString()
返回此 JWindow 的字元串表示形式。此方法僅在進行除錯的時候使用,對於各個實作,所返回字元串的內容和格式可能有所不同。返回的字元串可能為空,但不可能為 null

覆寫:
類別 Container 中的 paramString
返回:
JWindow 的字元串表示形式

getAccessibleContext

public AccessibleContext getAccessibleContext()
獲取與此 JWindow 關聯的 AccessibleContext。對於 JWindows,AccessibleContext 採取 AccessibleJWindow 的形式。必要時創建新的 AccessibleJWindow 實例。

指定者:
介面 Accessible 中的 getAccessibleContext
覆寫:
類別 Window 中的 getAccessibleContext
返回:
一個 AccessibleJWindow,它充當此 JWindow 的 AccessibleContext

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only