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.AccessibleJLayeredPane
JComponent.AccessibleJComponentContainer.AccessibleAWTContainer
Component.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_LAYER
listenerList, TOOL_TIP_TEXT_KEY,
ui, UNDEFINED_CONDITION,
WHEN_ANCESTOR_OF_FOCUSED_COMPONENT,
WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, 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,
setPosition
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, 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,
update
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,
removeContainerListener,
setFocusCycleRoot,
setFocusTraversalPolicy,
setFocusTraversalPolicyProvider,
setLayout,
transferFocusDownCycle,
validate, validateTree
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, 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,
transferFocusUpCycle
public 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