JavaTM 2 Platform
Standard Ed. 6

javax.swing
介面 RootPaneContainer

所有已知實作類別:
JApplet, JDialog, JFrame, JInternalFrame, JWindow

public interface RootPaneContainer

此介面由具有單個 JRootPane 子元件的元件來實作,這些子元件包括:JDialog、JFrame、JWindow、JApplet、JInternalFrame。此介面中的方法僅為 JRootPane 屬性的封面 (covers),例如,getContentPane() 通常按以下方法實作:

     public Container getContentPane() {
         return getRootPane().getContentPane();
     }
 
此介面用作 Swing GUI 產生器的標記 (marker),這些產生器需要處理 JFrame 之類別的元件,特別是包含單個 JRootPane 的元件。例如,在 GUI 產生器中,刪除 RootPaneContainer 上的元件將被解釋為 frame.getContentPane().add(child)

為了便於使用 JFrameJDialogJWindowJAppletJInternalFrame,預設情況下,將 addremovesetLayout 方法的所有調用轉發到 contentPane。這意味著您可以調用:

 rootPaneContainer.add(component);
 
而不是:
 rootPaneContainer.getContentPane().add(component);
 

rootPaneCheckingEnabled 屬性控制 JFrameJDialogJWindowJAppletJInternalFrameaddsetLayout 方法的行為。如果此屬性為 true(預設值),則將這些方法的調用轉發到 contentPane;如果為 false,則這些方法直接在 RootPaneContainer 上操作。此屬性僅用於子類別,因此是受保護的。

另請參見:
JRootPane, JFrame, JDialog, JWindow, JApplet, JInternalFrame

方法摘要
 Container getContentPane()
          返回 contentPane。
 Component getGlassPane()
          返回 glassPane。
 JLayeredPane getLayeredPane()
          返回 layeredPane。
 JRootPane getRootPane()
          返回此元件的單個 JRootPane 子元件。
 void setContentPane(Container contentPane)
          "contentPane" 是應用程序特定元件的主要容器。
 void setGlassPane(Component glassPane)
          glassPane 始終為 rootPane 的第一個子元件,rootPanes 佈局管理器確保它始終與 rootPane 一樣大。
 void setLayeredPane(JLayeredPane layeredPane)
          管理 contentPane 的 Container,在某些情況下為選單欄。
 

方法詳細資訊

getRootPane

JRootPane getRootPane()
返回此元件的單個 JRootPane 子元件。此介面的傳統實作間接通過此介面獲得所有其他方法。rootPane 有兩個子元件:glassPane 和 layeredPane。

返回:
此元件的單個 JRootPane 子元件。
另請參見:
JRootPane

setContentPane

void setContentPane(Container contentPane)
"contentPane" 是應用程序特定元件的主要容器。應用程序應將子元件添加到 contentPane,設置它的佈局管理器,等等。

contentPane 不能為 null。

通常使用 getRootPane().setContentPane(contentPane); 實作

參數:
contentPane - 用於此 JRootPane 內容的 Container
拋出:
IllegalComponentStateException - (運行時異常)如果內容窗格參數為 null
另請參見:
JRootPane.getContentPane(), getContentPane()

getContentPane

Container getContentPane()
返回 contentPane。

返回:
contentPane 屬性的值。
另請參見:
setContentPane(java.awt.Container)

setLayeredPane

void setLayeredPane(JLayeredPane layeredPane)
管理 contentPane 的 Container,在某些情況下為選單欄。希望將子元件添加到不歸佈局管理的 RootPaneContainer 的後代可以使用 layeredPane。例如,內部對話框或拖放效果元件。

layeredPane 不能為 null。

通常使用以下方法實作

 
    getRootPane().setLayeredPane(layeredPane);

拋出:
IllegalComponentStateException - (一個運行時異常)如果分層窗格參數為 null
另請參見:
getLayeredPane(), JRootPane.getLayeredPane()

getLayeredPane

JLayeredPane getLayeredPane()
返回 layeredPane。

返回:
layeredPane 屬性的值。
另請參見:
setLayeredPane(javax.swing.JLayeredPane)

setGlassPane

void setGlassPane(Component glassPane)
glassPane 始終為 rootPane 的第一個子元件,rootPanes 佈局管理器確保它始終與 rootPane 一樣大。預設情況下,它是透明的,不可見。通過添加偵聽器並使它變得可見,可以將它用於臨時捕獲所有的鍵盤和鼠標輸入。預設情況下,它不可見。

glassPane 不能為 null。

通常使用以下方法實作 getRootPane().setGlassPane(glassPane);

另請參見:
getGlassPane(), JRootPane.setGlassPane(java.awt.Component)

getGlassPane

Component getGlassPane()
返回 glassPane。

返回:
glassPane 屬性的值。
另請參見:
setGlassPane(java.awt.Component)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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