public class JDesktopPane extends JLayeredPane implements Accessible
JInternalFrame对象并将其添加到JDesktopPane 。 
       JDesktopPane扩展了JLayeredPane以管理可能重叠的内部帧。 
       它还保留了由UI类设置的当前外观(L&F)的DesktopManager实例的DesktopManager 。 
       请注意, JDesktopPane不支持边框。 
        这个类通常被用作父JInternalFrames是提供一种可插入DesktopManager对象到JInternalFrames 。 所述installUI的L&F具体实现的是负责设置desktopManager适当地可变。 当JInternalFrame的父母是JDesktopPane时,它应该将其大部分行为委托给desktopManager (关闭,调整大小等)。 
有关进一步的文档和示例,请参阅How to Use Internal Frames “Java教程 ”中的一节。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
 警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,对所有JavaBeans的长期存储的支持已经添加到java.beans包中。 请参阅XMLEncoder 。 
| Modifier and Type | Class and Description | 
|---|---|
| protected class  | JDesktopPane.AccessibleJDesktopPane
              这个类实现了可访问性支持 
              JDesktopPane类。 | 
JLayeredPane.AccessibleJLayeredPaneJComponent.AccessibleJComponentContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy| Modifier and Type | Field and Description | 
|---|---|
| static int | LIVE_DRAG_MODE
              表示正在拖动的项目的全部内容应显示在桌面窗格中。 
             | 
| static int | OUTLINE_DRAG_MODE
              表示只有正在拖动的项目的轮廓应该出现在桌面窗格中。 
             | 
DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYERlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description | 
|---|
| JDesktopPane()
              创建一个新的 
              JDesktopPane。 | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | addImpl(Component comp, Object constraints, int index)
              在指定的索引处将指定的组件添加到此容器。 
             | 
| AccessibleContext | getAccessibleContext()
              获取 
              AccessibleContext与此相关JDesktopPane。 | 
| JInternalFrame[] | getAllFrames()
              返回目前在桌面上显示的所有 
              JInternalFrames。 | 
| JInternalFrame[] | getAllFramesInLayer(int layer)
              返回当前显示在桌面的指定层中的所有 
              JInternalFrames。 | 
| DesktopManager | getDesktopManager()
              返回处理桌面特定UI操作的 
              DesktopManger。 | 
| int | getDragMode()
              获取桌面窗格使用的当前“拖动样式”。 
             | 
| JInternalFrame | getSelectedFrame()
              返回当前活动 
              JInternalFrame这个JDesktopPane,或null如果没有JInternalFrame当前处于活动状态。 | 
| DesktopPaneUI | getUI()
              返回渲染此组件的L&F对象。 
             | 
| String | getUIClassID()
              返回呈现此组件的L&F类的名称。 
             | 
| protected String | paramString()
              返回此 
              JDesktopPane的字符串表示JDesktopPane。 | 
| void | remove(Component comp)
              从此容器中删除指定的组件。 
             | 
| 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)
              设置当前激活的 
              JInternalFrame在这JDesktopPane。 | 
| void | setUI(DesktopPaneUI ui)
              设置渲染此组件的L&F对象。 
             | 
| void | updateUI()
              通知从 
              UIManager,L&F已经改变了。 | 
getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, insertIndexForLayer, isOptimizedDrawingEnabled, lowestLayer, moveToBack, moveToFront, paint, putLayer, setLayer, setLayer, setPositionaddAncestorListener, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingOrigin, 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, updateadd, 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, removeContainerListener, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeaction, 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, 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, transferFocusBackward, transferFocusUpCyclepublic static final int LIVE_DRAG_MODE
public static final int OUTLINE_DRAG_MODE
public DesktopPaneUI getUI()
DesktopPaneUI对象 
           public void setUI(DesktopPaneUI ui)
ui - DesktopPaneUI L&F对象 
           UIDefaults.getUI(javax.swing.JComponent) 
           public void setDragMode(int dragMode)
dragMode - 用于桌面中项目的拖动样式 
           LIVE_DRAG_MODE , 
            OUTLINE_DRAG_MODE 
           public int getDragMode()
Live_DRAG_MODE或 
            OUTLINE_DRAG_MODE 
           setDragMode(int) 
           public DesktopManager getDesktopManager()
DesktopManger 。 
          public void setDesktopManager(DesktopManager d)
DesktopManger 。 
           这可能被LookAndFeel所LookAndFeel 。 
          d - 
            DesktopManager使用 
           public void updateUI()
UIManager ,L&F已经改变。 
           从UIManager替换最新版本的当前UI对象。 
          updateUI在 
            JComponent 
           JComponent.updateUI() 
           public String getUIClassID()
getUIClassID在 
            JComponent 
           JComponent.getUIClassID() , 
            UIDefaults.getUI(javax.swing.JComponent) 
           public JInternalFrame[] getAllFrames()
JInternalFrames 。 
           返回图标化框架和展开框架。 
          JInternalFrame对象 
           public JInternalFrame getSelectedFrame()
JInternalFrame这个 
           JDesktopPane ,或 
           null如果没有 
           JInternalFrame当前处于活动状态。 
          JInternalFrame或 
            null 
           public void setSelectedFrame(JInternalFrame f)
JInternalFrame在这JDesktopPane 。 
           该方法用于桥接JDesktopPane和平台实现代码之间的包间隙,不应直接调用。 
           为了可视化地选择客户机必须调用JInternalFrame.setSelected(true)来激活帧的帧。 
          f - 当前选中的内部框架 
           JInternalFrame.setSelected(boolean) 
           public JInternalFrame[] getAllFramesInLayer(int layer)
JInternalFrames 。 
           返回图标化帧以及扩展帧。 
          layer - 指定桌面层的int 
           JInternalFrame对象 
           JLayeredPane 
           public void remove(Component comp)
removeLayoutComponent方法从该容器的布局中removeLayoutComponent 。 
           该方法更改布局相关信息,因此使组件层次结构无效。 如果已经显示了容器,则此后必须验证层次结构以反映更改。
remove在 
            Container 
           comp - 要移除的组件 
           Container.add(java.awt.Component) , 
            Container.invalidate() , 
            Container.validate() , 
            Container.remove(int) 
           public JInternalFrame selectFrame(boolean forward)
JInternalFrame 。 
          forward - 一个布尔值,表示选择哪个方向; 
            true为转发, false为向后 
           null如果没有选择 
           protected void addImpl(Component comp, Object constraints, int index)
addLayoutComponent方法使用指定的约束对象将组件添加到此容器的布局。 
            约束由正在使用的特定布局管理器定义。 例如, BorderLayout类定义了五个约束: BorderLayout.NORTH , BorderLayout.SOUTH , BorderLayout.EAST , BorderLayout.WEST和BorderLayout.CENTER 。 
 GridBagLayout类需要一个GridBagConstraints对象。 未能通过正确类型的约束对象结果在一个IllegalArgumentException 。 
 如果当前的布局管理器实现了LayoutManager2 ,那么就调用LayoutManager2.addLayoutComponent(Component,Object) 。 如果当前的布局管理器不实现LayoutManager2 ,而约束是String ,那么LayoutManager.addLayoutComponent(String,Component)就被调用了。 
如果组件不是此容器的祖先,并且具有非空父项,则在将其添加到此容器之前,它将从其当前父进程中删除。
如果程序需要跟踪每个添加到容器的请求,那么这种方法将会覆盖所有其他添加方法。 一个重写方法通常应该包括调用超类的方法版本:
 
            super.addImpl(comp, constraints, index) 
            
           该方法更改布局相关信息,因此使组件层次结构无效。 如果容器已经被显示,则此后必须验证层次结构,以显示添加的组件。
addImpl在 
            JLayeredPane 
           comp - 要添加的组件 
           constraints - 表示此组件的布局约束的对象 
           index - 容器列表中插入组件的位置,其中 
            -1表示附加到最后 
           Container.add(Component) , Container.add(Component, int) , Container.add(Component, java.lang.Object) , Container.invalidate() , LayoutManager , LayoutManager2 
           public void remove(int index)
remove在 
            JLayeredPane 
           index - 一个int指定要删除的组件 
           JLayeredPane.getIndexOf(java.awt.Component) 
           public void removeAll()
removeAll在 
            JLayeredPane 
           Container.add(java.awt.Component) , 
            Container.remove(int) , 
            Container.invalidate() 
           public void setComponentZOrder(Component comp, int index)
 如果组件是某个其他容器的子对象,则在添加到此容器之前将其从该容器中删除。 此方法与java.awt.Container.add(Component, int)之间的java.awt.Container.add(Component, int)在于,该方法不会在removeNotify上调用removeNotify ,而是从其先前的容器中删除它,除非有必要,并且在底层本机窗口系统允许的情况下。 这样,如果组件具有键盘焦点,则在移动到新位置时会保持焦点。 
 此属性保证仅适用于轻型非Container组件。 
该方法更改布局相关信息,因此使组件层次结构无效。
 注意 :并非所有平台都支持将重量级组件的z顺序从一个容器更改为另一个,而无需调用removeNotify 。 无法检测平台是否支持此功能,因此开发人员不应作出任何假设。 
setComponentZOrder在 
            Container 
           comp - 要移动的组件 
           index - 容器列表中插入组件的位置,其中 
            getComponentCount()附加到最后 
           Container.getComponentZOrder(java.awt.Component) , 
            Container.invalidate() 
           protected String paramString()
JDesktopPane的字符串表示JDesktopPane 。 
           该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 
           返回的字符串可能为空,但可能不是null 。 
          paramString在 
            JLayeredPane 
           JDesktopPane的字符串表示 
            JDesktopPane 
           public AccessibleContext getAccessibleContext()
AccessibleContext与此相关JDesktopPane 。 
           对于桌面窗格中, AccessibleContext需要一个形式AccessibleJDesktopPane 。 
           如果需要,将创建一个新的AccessibleJDesktopPane实例。 
          getAccessibleContext在接口 
            Accessible 
           getAccessibleContext在 
            JLayeredPane 
           AccessibleJDesktopPane ,作为这个 
            AccessibleContext的 
            JDesktopPane 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.