JavaTM 2 Platform
Standard Ed. 6

javax.swing
類別 JDesktopPane

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

public class JDesktopPane
extends JLayeredPane
implements Accessible

用於創建多文檔介面或虛擬桌面的容器。使用者可創建 JInternalFrame 物件並將其添加到 JDesktopPaneJDesktopPane 擴展了 JLayeredPane,以管理可能的重疊內部窗體。它還維護了對 DesktopManager 實例的參考,這是由 UI 類別為當前的外觀 (L&F) 所設置的。注意,JDesktopPane 不支持邊界。

此類別通常用作 JInternalFrames 的父類別,為 JInternalFrames 提供一個可插入的 DesktopManager 物件。特定於 L&F 的實作 installUI 負責正確設置 desktopManager 變數。JInternalFrame 的父類別是 JDesktopPane 時,它應該將其大部分行為(關閉、調整大小等)委託給 desktopManager

有關此內容更多的文檔和範例,請參閱 The Java TutorialHow to Use Internal Frames 一節。

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

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

另請參見:
JInternalFrame, JInternalFrame.JDesktopIcon, DesktopManager

巢狀類別摘要
protected  class JDesktopPane.AccessibleJDesktopPane
          此類別實作對 JDesktopPane 類別的可存取性支持。
 
從類別 javax.swing.JLayeredPane 繼承的巢狀類別/介面
JLayeredPane.AccessibleJLayeredPane
 
從類別 javax.swing.JComponent 繼承的巢狀類別/介面
JComponent.AccessibleJComponent
 
從類別 java.awt.Container 繼承的巢狀類別/介面
Container.AccessibleAWTContainer
 
從類別 java.awt.Component 繼承的巢狀類別/介面
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
欄位摘要
static int LIVE_DRAG_MODE
          指示正在被拖動項的所有內容是否應該出現在桌面窗格內部。
static int OUTLINE_DRAG_MODE
          指示桌面窗格是否只應該出現正在被拖動項的輪廓。
 
從類別 javax.swing.JLayeredPane 繼承的欄位
DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER
 
從類別 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
 
建構子摘要
JDesktopPane()
          創建一個新的 JDesktopPane
 
方法摘要
protected  void addImpl(Component comp, Object constraints, int index)
          將指定元件添加到此容器的指定索引所在的位置上。
 AccessibleContext getAccessibleContext()
          獲取與此 JDesktopPane 關聯的 AccessibleContext
 JInternalFrame[] getAllFrames()
          返回桌面中當前顯示的所有 JInternalFrames
 JInternalFrame[] getAllFramesInLayer(int layer)
          返回桌面指定層中當前所顯示的所有 JInternalFrames
 DesktopManager getDesktopManager()
          返回處理特定於桌面 UI 操作的 DesktopManger
 int getDragMode()
          獲取桌面窗格當前使用的“拖動樣式”。
 JInternalFrame getSelectedFrame()
          返回此 JDesktopPane 中當前活動的 JInternalFrame,如果當前沒有活動的 JInternalFrame,則返回 null
 DesktopPaneUI getUI()
          返回呈現此元件的 L&F 物件。
 String getUIClassID()
          返回呈現此元件的 L&F 類別名。
protected  String paramString()
          返回此 JDesktopPane 的字元串表示形式。
 void remove(int index)
          從此窗格中移除已索引的元件。
 void removeAll()
          從此容器中移除所有元件。
 JInternalFrame selectFrame(boolean forward)
          選擇此桌面窗格中的下一個 JInternalFrame
 void setComponentZOrder(Component comp, int index)
          將指定元件移動到容器中指定的 z 順序索引。
 void setDesktopManager(DesktopManager d)
          設置處理特定於桌面 UI 操作的 DesktopManger
 void setDragMode(int dragMode)
          設置桌面窗格使用的“拖動樣式”。
 void setSelectedFrame(JInternalFrame f)
          設置此 JDesktopPane 中當前活動的 JInternalFrame
 void setUI(DesktopPaneUI ui)
          設置呈現此元件的 L&F 物件。
 void updateUI()
          UIManager 發出的關於 L&F 已更改的通知。
 
從類別 javax.swing.JLayeredPane 繼承的方法
getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, insertIndexForLayer, isOptimizedDrawingEnabled, lowestLayer, moveToBack, moveToFront, paint, putLayer, setLayer, setLayer, setPosition
 
從類別 javax.swing.JComponent 繼承的方法
addAncestorListener, addNotify, 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, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, 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, removeContainerListener, 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
 

欄位詳細資訊

LIVE_DRAG_MODE

public static final int LIVE_DRAG_MODE
指示正在被拖動項的所有內容是否應該出現在桌面窗格內部。

另請參見:
OUTLINE_DRAG_MODE, setDragMode(int), 常數欄位值

OUTLINE_DRAG_MODE

public static final int OUTLINE_DRAG_MODE
指示桌面窗格是否只應該出現正在被拖動項的輪廓。

另請參見:
LIVE_DRAG_MODE, setDragMode(int), 常數欄位值
建構子詳細資訊

JDesktopPane

public JDesktopPane()
創建一個新的 JDesktopPane

方法詳細資訊

getUI

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

返回:
呈現此元件的 DesktopPaneUI 物件

setUI

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

參數:
ui - DesktopPaneUI L&F 物件
另請參見:
UIDefaults.getUI(javax.swing.JComponent)

setDragMode

public void setDragMode(int dragMode)
設置桌面窗格使用的“拖動樣式”。出於性能或審美的原因,可能要更改網要。

參數:
dragMode - 為 Desktop 中各項所用的拖動樣式
從以下版本開始:
1.3
另請參見:
LIVE_DRAG_MODE, OUTLINE_DRAG_MODE

getDragMode

public int getDragMode()
獲取桌面窗格當前使用的“拖動樣式”。

返回:
Live_DRAG_MODEOUTLINE_DRAG_MODE
從以下版本開始:
1.3
另請參見:
setDragMode(int)

getDesktopManager

public DesktopManager getDesktopManager()
返回處理特定於桌面 UI 操作的 DesktopManger


setDesktopManager

public void setDesktopManager(DesktopManager d)
設置處理特定於桌面 UI 操作的 DesktopManger

參數:
d - 所使用的 DesktopManager

updateUI

public void updateUI()
UIManager 發出的關於 L&F 已更改的通知。用來自 UIManager 的最新版本 UI 物件替換當前的 UI 物件。

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

getUIClassID

public String getUIClassID()
返回呈現此元件的 L&F 類別名。

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

getAllFrames

public JInternalFrame[] getAllFrames()
返回桌面中當前顯示的所有 JInternalFrames。返回圖標化的窗體和擴展的窗體。

返回:
JInternalFrame 物件的陣列

getSelectedFrame

public JInternalFrame getSelectedFrame()
返回此 JDesktopPane 中當前活動的 JInternalFrame,如果當前沒有活動的 JInternalFrame,則返回 null

返回:
當前活動的 JInternalFramenull
從以下版本開始:
1.3

setSelectedFrame

public void setSelectedFrame(JInternalFrame f)
設置此 JDesktopPane 中當前活動的 JInternalFrame。此方法用於連接JDesktopPane 和平臺實作程式碼,不應該直接調用。要可視化地選擇窗體,客戶端必須調用 JInternalFrame.setSelected(true) 啟動窗體。

參數:
f - 當前選中的內部窗體
從以下版本開始:
1.3
另請參見:
JInternalFrame.setSelected(boolean)

getAllFramesInLayer

public JInternalFrame[] getAllFramesInLayer(int layer)
返回桌面指定層中當前所顯示的所有 JInternalFrames。返回圖標化的窗體和擴展的窗體。

參數:
layer - 指定桌面層的 int 值
返回:
JInternalFrame 物件的陣列
另請參見:
JLayeredPane

selectFrame

public JInternalFrame selectFrame(boolean forward)
選擇此桌面窗格中的下一個 JInternalFrame

參數:
forward - 一個 boolean 值,指示選擇的方向;true 表示向前,false 表示向後
返回:
選擇的 JInternalFrame;如果未選擇任何窗體,則返回 null
從以下版本開始:
1.6

addImpl

protected void addImpl(Component comp,
                       Object constraints,
                       int index)
將指定元件添加到此容器的指定索引所在的位置上。此方法還通知佈局管理器,通過 addLayoutComponent 方法,使用指定的約束物件將元件添加到此容器的佈局中。

這些約束是由正使用的特定佈局管理器定義的。例如,BorderLayout 類別定義了五個約束:BorderLayout.NORTHBorderLayout.SOUTHBorderLayout.EASTBorderLayout.WESTBorderLayout.CENTER

GridBagLayout 類別需要一個 GridBagConstraints 物件。如果傳遞正確的約束物件型別時失敗,則會導致 IllegalArgumentException

如果當前佈局管理器實作了 LayoutManager2,則在其上調用 LayoutManager2.addLayoutComponent(Component,Object)。如果當前佈局管理器沒有實作 LayoutManager2,並且約束是一個 String,則在其上調用 LayoutManager.addLayoutComponent(String,Component)

如果該元件不是此容器的祖先容器,並且有一個非 null 父元件,則在將該元件添加到此容器之前,從其當前父元件中移除它。

在其他所有添加方法參考此方法時,如果某個程序需要追蹤每個添加到容器的請求,那麼這就是要覆寫的方法。被覆寫的方法通常應該套件括一個對該方法的父級類別版本的調用:

super.addImpl(comp, constraints, index)

覆寫:
類別 JLayeredPane 中的 addImpl
參數:
comp - 要添加的元件
constraints - 表示此元件的佈局約束的物件
從以下版本開始:
1.6
另請參見:
Container.add(Component), Container.add(Component, int), Container.add(Component, java.lang.Object), LayoutManager, LayoutManager2

remove

public void remove(int index)
從此窗格中移除已索引的元件。這是絕對索引,與層無關。

覆寫:
類別 JLayeredPane 中的 remove
參數:
index - 指定要移除元件的 int 值
從以下版本開始:
1.6
另請參見:
JLayeredPane.getIndexOf(java.awt.Component)

removeAll

public void removeAll()
從此容器中移除所有元件。

覆寫:
類別 JLayeredPane 中的 removeAll
從以下版本開始:
1.6
另請參見:
Container.add(java.awt.Component), Container.remove(int)

setComponentZOrder

public void setComponentZOrder(Component comp,
                               int index)
將指定元件移動到容器中指定的 z 順序索引。z 順序確定了繪製元件的順序;具有最高 z 順序的元件將第一個繪製,而具有最低 z 順序的元件將最後一個繪製。在元件重疊的地方,具有較低 z 順序的元件將覆寫具有較高 z 順序的元件。

如果元件是其他某個 container 的子元件,則在將它添加到此容器之前,從該容器中移除它。此方法與 java.awt.Container.add(Component, int) 之間的重要不同是,在將元件從其以前的容器中移除時,此方法不對該元件調用 removeNotify,除非有此必要,並且基礎本機視窗系統允許這樣做。因此,如果元件擁有鍵盤焦點,那麼在移動到新的位置上時,它會維持該焦點。

要保證此屬性只應用於輕量級的非 Container 元件。

:並不是所有的平臺都支持在不調用 removeNotify 的情況下,將重量級元件的 z 順序從一個容器更改到另一個容器中。無法檢測某個平臺是否支持這一點,因此開發人員不應該作出任何假設。

覆寫:
類別 Container 中的 setComponentZOrder
參數:
comp - 要移動的元件
index - 在容器的列表中插入元件的位置,其中 getComponentCount() 指追加到尾部
從以下版本開始:
1.6
另請參見:
Container.getComponentZOrder(java.awt.Component)

paramString

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

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

getAccessibleContext

public AccessibleContext getAccessibleContext()
獲取與此 JDesktopPane 關聯的 AccessibleContext。對於桌面窗格,AccessibleContext 採用 AccessibleJDesktopPane 的形式。如有必要,可以創建一個新的 AccessibleJDesktopPane 實例。

指定者:
介面 Accessible 中的 getAccessibleContext
覆寫:
類別 JLayeredPane 中的 getAccessibleContext
返回:
充當此 JDesktopPaneAccessibleContextAccessibleJDesktopPane

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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