JavaTM 2 Platform
Standard Ed. 6

javax.swing
類別 JRootPane

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

public class JRootPane
extends JComponent
implements Accessible

該輕量級容器由 JFrameJDialogJWindowJAppletJInternalFrame 在後台使用。有關根窗格所提供功能的導向任務的資訊,請參閱 The Java Tutorial 中的 How to Use Root Panes 一節。

下面的圖像顯示了使用根窗格的各個類別之間的關係。

以下文本是對此圖像的描述。

“重量級”元件(指委託給主機系統上的同位體或本地元件的元件)用較暗的、更重的框來顯示。四個重量級 JFC/Swing 容器(JFrameJDialogJWindowJApplet)的顯示與它們擴展的 AWT 類別有關。這四個元件是 Swing 資源庫中僅有的重量級容器。這裡還顯示了輕量級容器 JInternalFrame。所有這五個 JFC/Swing 容器都實作 RootPaneContainer 介面,並且它們都將其操作委託給 JRootPane(頂端顯示有一個小 "handle")。
註:使用 JComponentgetRootPane 方法可獲取包含給定元件的 JRootPane
以下文本是對此圖像的描述。
右圖顯示了 JRootPane 的結構。JRootpane 由一個 glassPane 和一個可選的 menuBar 以及一個 contentPane 組成。(JLayeredPane 負責管理 menuBarcontentPane。)glassPane 位於所有窗格之上,以便能夠截取鼠標移動。由於 glassPane(與 contentPane 類似)可以是一個任意的元件,也可以設置 glassPane 來進行繪製。這樣 glassPane 上的線條和圖像可涵蓋其下的窗體,不受其邊界的限制。

儘管 menuBar 元件為可選,但 layeredPanecontentPaneglassPane 總是存在的。試圖將它們設置為 null 將產生異常。

要將元件添加到 JRootPane(可選的選單欄除外),您可以將物件添加到 JRootPanecontentPane,如下所示:

       rootPane.getContentPane().add(child);
 
可用同樣的方法設置佈局管理器、移除元件以及列出子級等。所有這些方法都是在 contentPane 上而不是 JRootPane 上調用的。
註:contentPane 的預設佈局管理器是 BorderLayout 管理器。但是,JRootPane 使用一個自定義的 LayoutManager。所以,如果您希望更改已添加到 JRootPane 中的元件的佈局管理器,一定要確保使用如下程式碼:
    rootPane.getContentPane().setLayout(new BoxLayout());
 
如果已在 JRootPane 上設置了 JMenuBar 元件,它將沿窗體的上邊緣放置。contentPane 的位置和大小將進行調整以填充剩餘的區域。(JMenuBarcontentPane 被添加到位於 JLayeredPane.FRAME_CONTENT_LAYER 層的 layeredPane 元件中。)

layeredPaneJRootPane 中所有子級的父級,既是選單的直接父級,又是添加到 contentPane 中的所有元件的祖父級。它是 JLayeredPane 的實例,提供在若干層上添加元件的能力。在處理彈出選單、對話框以及拖動時,即要求將元件置於窗格中所有其它元件之上的情況下,此功能非常有用。

glassPane 位於 JRootPane 中所有其它元件之上。這為在所有其它元件上繪圖和截取鼠標事件提供了方便,這對拖動和繪圖都非常有用。開發人員可在 glassPane 上使用 setVisible 控制 glassPane 在所有其它子級上面顯示的時間。預設情況下,glassPane 為不可見。

JRootPane 所使用的自定義 LayoutManager 可確保:

  1. glassPane 填充了 JRootPane 的整個可查看區域(邊界 - insets)。
  2. layeredPane 填充了 JRootPane 的整個可查看區域。(邊界 - insets)
  3. menuBar 位於 layeredPane 的上邊緣。
  4. contentPane 填充了整個可查看區域,減去 menuBar(如果有)。
JRootPane 視圖層次結構中的任何其它視圖均忽略。

如果您替換 JRootPaneLayoutManager,您將負責管理所有這些視圖。所以通常情況下,應該確保更改的是 contentPane 的佈局管理器,而不是 JRootPane 自身的佈局管理器。

Swing 的繪製架構要求在所有其它元件之上的套件含層次結構中有一個不透明的 JComponent。這通常通過使用內容窗格來實作。如果要替換內容窗格,建議使用 setOpaque(true) 將內容窗格設置為不透明。另外,如果內容窗格覆寫 paintComponent,還需要在 paintComponent 中用不透明顏色將背景完全填充。

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

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

另請參見:
JLayeredPane, JMenuBar, JWindow, JFrame, JDialog, JApplet, JInternalFrame, JComponent, BoxLayout, Mixing Heavy and Light Components

巢狀類別摘要
protected  class JRootPane.AccessibleJRootPane
          此類別實作對 JRootPane 類別的可存取性支持。
protected  class JRootPane.RootLayout
          該自定義佈局管理器負責 layeredPane、glassPane 和 menuBar 的佈局。
 
從類別 javax.swing.JComponent 繼承的巢狀類別/介面
JComponent.AccessibleJComponent
 
從類別 java.awt.Container 繼承的巢狀類別/介面
Container.AccessibleAWTContainer
 
從類別 java.awt.Component 繼承的巢狀類別/介面
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
欄位摘要
static int COLOR_CHOOSER_DIALOG
          供 windowDecorationStyle 屬性使用的常數。
protected  Container contentPane
          內容窗格。
protected  JButton defaultButton
          當窗格成為焦點並有類似按下 Enter 鍵的特定於 UI 的操作發生時被啟動的按鈕。
protected  javax.swing.JRootPane.DefaultAction defaultPressAction
          已過時。 從 Java 2 platform v1.3 開始
protected  javax.swing.JRootPane.DefaultAction defaultReleaseAction
          已過時。 從 Java 2 platform v1.3 開始
static int ERROR_DIALOG
          供 windowDecorationStyle 屬性使用的常數。
static int FILE_CHOOSER_DIALOG
          供 windowDecorationStyle 屬性使用的常數。
static int FRAME
          供 windowDecorationStyle 屬性使用的常數。
protected  Component glassPane
          覆寫選單欄和內容窗格的玻璃窗格,便於截取鼠標移動等操作。
static int INFORMATION_DIALOG
          供 windowDecorationStyle 屬性使用的常數。
protected  JLayeredPane layeredPane
          管理選單欄和內容窗格的分層窗格。
protected  JMenuBar menuBar
          選單欄。
static int NONE
          供 windowDecorationStyle 屬性使用的常數。
static int PLAIN_DIALOG
          供 windowDecorationStyle 屬性使用的常數。
static int QUESTION_DIALOG
          供 windowDecorationStyle 屬性使用的常數。
static int WARNING_DIALOG
          供 windowDecorationStyle 屬性使用的常數。
 
從類別 javax.swing.JComponent 繼承的欄位
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
從類別 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
 
建構子摘要
JRootPane()
          創建 JRootPane,設置其 glassPanelayeredPane 以及 contentPane
 
方法摘要
protected  void addImpl(Component comp, Object constraints, int index)
          覆寫以便將玻璃元件的位置強行設置成零位子級。
 void addNotify()
          將本身註冊為 SystemEventQueueUtils 的新的根窗格。
protected  Container createContentPane()
          由建構子調用以便創建預設的 contentPane
protected  Component createGlassPane()
          由建構子調用以便創建預設的 glassPane
protected  JLayeredPane createLayeredPane()
          由建構子調用以便創建預設的 layeredPane
protected  LayoutManager createRootLayout()
          由建構子調用以便創建預設的 layoutManager
 AccessibleContext getAccessibleContext()
          獲取與此 JRootPane 相關聯的 AccessibleContext
 Container getContentPane()
          返回內容窗格,它是保存以根窗格為父級的元件的容器。
 JButton getDefaultButton()
          返回 defaultButton 屬性的值。
 Component getGlassPane()
          返回此 JRootPane 的當前玻璃窗格。
 JMenuBar getJMenuBar()
          返回窗格層的選單欄。
 JLayeredPane getLayeredPane()
          獲取供根窗格使用的分層窗格。
 JMenuBar getMenuBar()
          已過時。 從 Swing 版本 1.0.3 開始,由 getJMenuBar() 取代。
 RootPaneUI getUI()
          返回呈現此元件的 L&F 物件。
 String getUIClassID()
          返回一個指定呈現此元件的 L&F 類別名稱的字元串。
 int getWindowDecorationStyle()
          返回一個常數,它標識 JRootPane 提供的 Window 裝飾型別。
 boolean isOptimizedDrawingEnabled()
          glassPanecontentPane 具有相同的邊界,這意味著 JRootPane 並不對其子級平鋪,應返回 false。
 boolean isValidateRoot()
          如果此 JRootPane 的一個後代調用 revalidate,將從此位置開始進行驗證。
protected  String paramString()
          返回此 JRootPane 的字元串表示形式。
 void removeNotify()
          將本身從 SystemEventQueueUtils 註銷。
 void setContentPane(Container content)
          設置內容窗格,它是保存以根窗格為父級的元件的容器。
 void setDefaultButton(JButton defaultButton)
          設置 defaultButton 屬性,它確定此 JRootPane 的當前預設按鈕。
 void setDoubleBuffered(boolean aFlag)
          設置此元件是否應該使用緩衝區進行繪製。
 void setGlassPane(Component glass)
          將指定的 Component 設置為此根窗格的玻璃窗格。
 void setJMenuBar(JMenuBar menu)
          添加或更改在分層窗格中使用的選單欄。
 void setLayeredPane(JLayeredPane layered)
          設置供根窗格使用的分層窗格。
 void setMenuBar(JMenuBar menu)
          已過時。 從 Swing 版本 1.0.3 開始,由 setJMenuBar(JMenuBar menu) 取代。
 void setUI(RootPaneUI ui)
          設置呈現此元件的 L&F 物件。
 void setWindowDecorationStyle(int windowDecorationStyle)
          設置 JRootPane 應提供的 Window 裝飾型別(例如,邊界、關閉 Window 的小部件、標題等)。
 void updateUI()
          將 UI 屬性重置為當前外觀對應的值。
 
從類別 javax.swing.JComponent 繼承的方法
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
從類別 java.awt.Container 繼承的方法
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
從類別 java.awt.Component 繼承的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

欄位詳細資訊

NONE

public static final int NONE
供 windowDecorationStyle 屬性使用的常數。指示 JRootPane 不應提供任何型別的 Window 裝飾。

從以下版本開始:
1.4
另請參見:
常數欄位值

FRAME

public static final int FRAME
供 windowDecorationStyle 屬性使用的常數。指示 JRootPane 應提供適合 Frame 的裝飾。

從以下版本開始:
1.4
另請參見:
常數欄位值

PLAIN_DIALOG

public static final int PLAIN_DIALOG
供 windowDecorationStyle 屬性使用的常數。指示 JRootPane 應提供適合 Dialog 的裝飾。

從以下版本開始:
1.4
另請參見:
常數欄位值

INFORMATION_DIALOG

public static final int INFORMATION_DIALOG
供 windowDecorationStyle 屬性使用的常數。指示 JRootPane 應提供適合 Dialog 的裝飾以便顯示一條報告訊息。

從以下版本開始:
1.4
另請參見:
常數欄位值

ERROR_DIALOG

public static final int ERROR_DIALOG
供 windowDecorationStyle 屬性使用的常數。指示 JRootPane 應提供適合 Dialog 的裝飾以便顯示一條錯誤訊息。

從以下版本開始:
1.4
另請參見:
常數欄位值

COLOR_CHOOSER_DIALOG

public static final int COLOR_CHOOSER_DIALOG
供 windowDecorationStyle 屬性使用的常數。指示 JRootPane 應提供適合 Dialog 的裝飾以便顯示 JColorChooser

從以下版本開始:
1.4
另請參見:
常數欄位值

FILE_CHOOSER_DIALOG

public static final int FILE_CHOOSER_DIALOG
供 windowDecorationStyle 屬性使用的常數。指示 JRootPane 應提供適合 Dialog 的裝飾以便顯示 JFileChooser

從以下版本開始:
1.4
另請參見:
常數欄位值

QUESTION_DIALOG

public static final int QUESTION_DIALOG
供 windowDecorationStyle 屬性使用的常數。指示 JRootPane 應提供適合 Dialog 的裝飾以便向使用者顯示一個問題。

從以下版本開始:
1.4
另請參見:
常數欄位值

WARNING_DIALOG

public static final int WARNING_DIALOG
供 windowDecorationStyle 屬性使用的常數。指示 JRootPane 應提供適合 Dialog 的裝飾以便顯示一條警告訊息。

從以下版本開始:
1.4
另請參見:
常數欄位值

menuBar

protected JMenuBar menuBar
選單欄。


contentPane

protected Container contentPane
內容窗格。


layeredPane

protected JLayeredPane layeredPane
管理選單欄和內容窗格的分層窗格。


glassPane

protected Component glassPane
覆寫選單欄和內容窗格的玻璃窗格,便於截取鼠標移動等操作。


defaultButton

protected JButton defaultButton
當窗格成為焦點並有類似按下 Enter 鍵的特定於 UI 的操作發生時被啟動的按鈕。


defaultPressAction

@Deprecated
protected javax.swing.JRootPane.DefaultAction defaultPressAction
已過時。 從 Java 2 platform v1.3 開始
從 Java 2 platform v1.3 開始,此無用欄位已不再使用。要覆寫預設的按鈕,應在 JRootPaneActionMap 中替換 Action。有關更多詳細資訊,請參閱鍵綁定規範。

另請參見:
defaultButton

defaultReleaseAction

@Deprecated
protected javax.swing.JRootPane.DefaultAction defaultReleaseAction
已過時。 從 Java 2 platform v1.3 開始
從 Java 2 platform v1.3 開始,此無用欄位已不再使用。要覆寫預設的按鈕,應在 JRootPaneActionMap 中替換 Action。有關更多詳細資訊,請參閱鍵綁定規範。

另請參見:
defaultButton
建構子詳細資訊

JRootPane

public JRootPane()
創建 JRootPane,設置其 glassPanelayeredPane 以及 contentPane

方法詳細資訊

setDoubleBuffered

public void setDoubleBuffered(boolean aFlag)
設置此元件是否應該使用緩衝區進行繪製。如果設置為 true,則此元件的所有繪製將在一個離屏繪製緩衝區內完成。然後將該離屏繪製緩衝區複製到螢幕上。如果緩衝了某個 Component,並且還緩衝了它的某個祖先,則將使用該祖先緩衝區。

覆寫:
類別 JComponent 中的 setDoubleBuffered
參數:
aFlag - 如果為 true,則設置此元件使用雙緩衝區進行緩衝
從以下版本開始:
1.6

getWindowDecorationStyle

public int getWindowDecorationStyle()
返回一個常數,它標識 JRootPane 提供的 Window 裝飾型別。

返回:
NONEFRAMEPLAIN_DIALOGINFORMATION_DIALOGERROR_DIALOGCOLOR_CHOOSER_DIALOGFILE_CHOOSER_DIALOGQUESTION_DIALOGWARNING_DIALOG 之一。
從以下版本開始:
1.4
另請參見:
setWindowDecorationStyle(int)

setWindowDecorationStyle

public void setWindowDecorationStyle(int windowDecorationStyle)
設置 JRootPane 應提供的 Window 裝飾型別(例如,邊界、關閉 Window 的小部件、標題等)。預設不提供任何 Window 裝飾 (NONE)。

這只是一個提示,有些外觀可能不支持。這是一個綁定屬性。

參數:
windowDecorationStyle - 標識要提供的 Window 裝飾的常數。
拋出:
IllegalArgumentException - 如果 style 不是下列常數之一:NONEFRAMEPLAIN_DIALOGINFORMATION_DIALOGERROR_DIALOGCOLOR_CHOOSER_DIALOGFILE_CHOOSER_DIALOGQUESTION_DIALOGWARNING_DIALOG
從以下版本開始:
1.4
另請參見:
JDialog.setDefaultLookAndFeelDecorated(boolean), JFrame.setDefaultLookAndFeelDecorated(boolean), LookAndFeel.getSupportsWindowDecorations()

getUI

public RootPaneUI getUI()
返回呈現此元件的 L&F 物件。

返回:
LabelUI 物件
從以下版本開始:
1.3

setUI

public void setUI(RootPaneUI ui)
設置呈現此元件的 L&F 物件。

參數:
ui - LabelUI L&F 物件
從以下版本開始:
1.3
另請參見:
UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()
將 UI 屬性重置為當前外觀對應的值。

覆寫:
類別 JComponent 中的 updateUI
另請參見:
JComponent.updateUI()

getUIClassID

public String getUIClassID()
返回一個指定呈現此元件的 L&F 類別名稱的字元串。

覆寫:
類別 JComponent 中的 getUIClassID
返回:
"RootPaneUI" 字元串
另請參見:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

createLayeredPane

protected JLayeredPane createLayeredPane()
由建構子調用以便創建預設的 layeredPane。預設情況下創建一個新的 JLayeredPane

返回:
預設的 layeredPane

createContentPane

protected Container createContentPane()
由建構子調用以便創建預設的 contentPane。預設情況下,此方法創建新的 JComponent 並將 BorderLayout 設置為它的 LayoutManager

返回:
預設的 contentPane

createGlassPane

protected Component createGlassPane()
由建構子調用以便創建預設的 glassPane。預設情況下,此方法創建新的 JComponent,其可見性設置為 false。

返回:
預設的 glassPane

createRootLayout

protected LayoutManager createRootLayout()
由建構子調用以便創建預設的 layoutManager

返回:
預設的 layoutManager.

setJMenuBar

public void setJMenuBar(JMenuBar menu)
添加或更改在分層窗格中使用的選單欄。

參數:
menu - 要添加的 JMenuBar

setMenuBar

@Deprecated
public void setMenuBar(JMenuBar menu)
已過時。 從 Swing 版本 1.0.3 開始,由 setJMenuBar(JMenuBar menu) 取代。

指定選單欄的值。

參數:
menu - 要添加的 JMenuBar

getJMenuBar

public JMenuBar getJMenuBar()
返回窗格層的選單欄。

返回:
該窗格中使用的 JMenuBar

getMenuBar

@Deprecated
public JMenuBar getMenuBar()
已過時。 從 Swing 版本 1.0.3 開始,由 getJMenuBar() 取代。

返回選單欄的值。

返回:
窗格中使用的 JMenuBar

setContentPane

public void setContentPane(Container content)
設置內容窗格,它是保存以根窗格為父級的元件的容器。

Swing 的繪製架構要求在包含層次結構中有一個不透明的 JComponent。這通常由內容窗格提供。如果要替換內容窗格,則建議用一個不透明的 JComponent 來替代。

參數:
content - 供元件內容使用的 Container
拋出:
IllegalComponentStateException - (運行時異常)如果內容窗格參數為 null

getContentPane

public Container getContentPane()
返回內容窗格,它是保存以根窗格為父級的元件的容器。

返回:
保存元件內容的 Container

setLayeredPane

public void setLayeredPane(JLayeredPane layered)
設置供根窗格使用的分層窗格。分層窗格通常容納一個內容窗格和一個可選的 JMenuBar

參數:
layered - 要使用的 JLayeredPane
拋出:
IllegalComponentStateException - (運行時異常)如果分層窗格參數為 null

getLayeredPane

public JLayeredPane getLayeredPane()
獲取供根窗格使用的分層窗格。分層窗格通常保存一個內容窗格和一個可選的 JMenuBar

返回:
當前使用的 JLayeredPane

setGlassPane

public void setGlassPane(Component glass)
將指定的 Component 設置為此根窗格的玻璃窗格。玻璃窗格通常應該是一個輕量級的、透明的元件,因為每當根窗格需要抓取輸入事件時會將它設置為可見。

更改新玻璃窗格的可見性,以比對當前玻璃窗格的可見性。其含義是,當想要替換玻璃窗格並使其可見時必須要小心。以下程式碼之一將起作用:

   root.setGlassPane(newGlassPane);
   newGlassPane.setVisible(true);
 
或者:
   root.getGlassPane().setVisible(true);
   root.setGlassPane(newGlassPane);
 

參數:
glass - 要用作此 JRootPane 的玻璃窗格的 Component
拋出:
NullPointerException - 如果 glass 參數為 null

getGlassPane

public Component getGlassPane()
返回此 JRootPane 的當前玻璃窗格。

返回:
當前的玻璃窗格
另請參見:
setGlassPane(java.awt.Component)

isValidateRoot

public boolean isValidateRoot()
如果此 JRootPane 的一個後代調用 revalidate,將從此位置開始進行驗證。

推遲對一個元件及其後代再次佈局的請求。例如,對 revalidate 的調用被上推至 JRootPaneJScrollPane,因為兩個類別都覆寫 isValidateRoot 以返回 true。

覆寫:
類別 JComponent 中的 isValidateRoot
返回:
true
另請參見:
JComponent.isValidateRoot()

isOptimizedDrawingEnabled

public boolean isOptimizedDrawingEnabled()
glassPanecontentPane 具有相同的邊界,這意味著 JRootPane 並不對其子級平鋪,應返回 false。另一方面,glassPane 通常為不可見,所以如果 glassPane 為不可見時,它會返回 true。因此,這裡的返回值取決於 glassPane 的可見性。

覆寫:
類別 JComponent 中的 isOptimizedDrawingEnabled
返回:
如果此元件的子級不重疊,則返回 true

addNotify

public void addNotify()
將本身註冊為 SystemEventQueueUtils 的新的根窗格。

覆寫:
類別 JComponent 中的 addNotify
另請參見:
JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)

removeNotify

public void removeNotify()
將本身從 SystemEventQueueUtils 註銷。

覆寫:
類別 JComponent 中的 removeNotify
另請參見:
addNotify()

setDefaultButton

public void setDefaultButton(JButton defaultButton)
設置 defaultButton 屬性,它確定此 JRootPane 的當前預設按鈕。預設的按鈕是根窗格中發生 UI 定義的啟動事件(通常是 Enter 鍵)時將被啟動的按鈕,無論按鈕是否成為鍵盤焦點(除非根窗格中另有一個元件使用此啟動事件,例如一個 JTextPane)。為使預設的啟動正常工作,在啟動發生時該按鈕必須是根窗格的一個已啟用的後代。要從此根窗格移除一個預設的按鈕,設置此屬性為 null

參數:
defaultButton - 將成為預設按鈕的 JButton
另請參見:
JButton.isDefaultButton()

getDefaultButton

public JButton getDefaultButton()
返回 defaultButton 屬性的值。

返回:
當前為預設按鈕的 JButton
另請參見:
setDefaultButton(javax.swing.JButton)

addImpl

protected void addImpl(Component comp,
                       Object constraints,
                       int index)
覆寫以便將玻璃元件的位置強行設置成零位子級。

覆寫:
類別 Container 中的 addImpl
參數:
comp - 要增強的元件
constraints - 要遵守的約束條件
index - 索引
另請參見:
Container.add(Component), Container.add(Component, int), Container.add(Component, java.lang.Object), LayoutManager, LayoutManager2

paramString

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

覆寫:
類別 JComponent 中的 paramString
返回:
JRootPane 的字元串表示形式。

getAccessibleContext

public AccessibleContext getAccessibleContext()
獲取與此 JRootPane 相關聯的 AccessibleContext。對於根窗格,AccessibleContext 採用 AccessibleJRootPane 的形式。必要時創建新的 AccessibleJRootPane 實例。

指定者:
介面 Accessible 中的 getAccessibleContext
覆寫:
類別 JComponent 中的 getAccessibleContext
返回:
一個 AccessibleJRootPane,它充當此 JRootPaneAccessibleContext

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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