JDesktopPane (Java 2 Platform SE 5.0) (original) (raw)


javax.swing

Class JDesktopPane

java.lang.Object extended by java.awt.Component extended by java.awt.Container extended by javax.swing.JComponent extended by javax.swing.JLayeredPane extended by javax.swing.JDesktopPane

All Implemented Interfaces:

ImageObserver, MenuContainer, Serializable, Accessible


public class JDesktopPane

extends JLayeredPane

implements Accessible

A container used to create a multiple-document interface or a virtual desktop. You create JInternalFrame objects and add them to the JDesktopPane. JDesktopPane extendsJLayeredPane to manage the potentially overlapping internal frames. It also maintains a reference to an instance ofDesktopManager that is set by the UI class for the current look and feel (L&F). Note that JDesktopPane does not support borders.

This class is normally used as the parent of JInternalFrames to provide a pluggable DesktopManager object to theJInternalFrames. The installUI of the L&F specific implementation is responsible for setting thedesktopManager variable appropriately. When the parent of a JInternalFrame is a JDesktopPane, it should delegate most of its behavior to the desktopManager (closing, resizing, etc).

For further documentation and examples seeHow to Use Internal Frames, a section in The Java Tutorial.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

See Also:

JInternalFrame, JInternalFrame.JDesktopIcon, DesktopManager


Nested Class Summary
protected class JDesktopPane.AccessibleJDesktopPane This class implements accessibility support for the JDesktopPane class.
Nested classes/interfaces inherited from class javax.swing.JLayeredPane
JLayeredPane.AccessibleJLayeredPane
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
Field Summary
static int LIVE_DRAG_MODE Indicates that the entire contents of the item being dragged should appear inside the desktop pane.
static int OUTLINE_DRAG_MODE Indicates that an outline only of the item being dragged should appear inside the desktop pane.
Fields inherited from class javax.swing.JLayeredPane
DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor Summary
JDesktopPane() Creates a new JDesktopPane.
Method Summary
AccessibleContext getAccessibleContext() Gets the AccessibleContext associated with thisJDesktopPane.
JInternalFrame[] getAllFrames() Returns all JInternalFrames currently displayed in the desktop.
JInternalFrame[] getAllFramesInLayer(int layer) Returns all JInternalFrames currently displayed in the specified layer of the desktop.
DesktopManager getDesktopManager() Returns the DesktopManger that handles desktop-specific UI actions.
int getDragMode() Gets the current "dragging style" used by the desktop pane.
JInternalFrame getSelectedFrame() Returns the currently active JInternalFrame in this JDesktopPane, or null if no JInternalFrame is currently active.
DesktopPaneUI getUI() Returns the L&F object that renders this component.
String getUIClassID() Returns the name of the L&F class that renders this component.
boolean isOpaque() Returns true to indicate that this component paints every pixel in its range.
protected String paramString() Returns a string representation of this JDesktopPane.
void setDesktopManager(DesktopManager d) Sets the DesktopManger that will handle desktop-specific UI actions.
void setDragMode(int dragMode) Sets the "dragging style" used by the desktop pane.
void setSelectedFrame(JInternalFrame f) Sets the currently active JInternalFrame in this JDesktopPane.
void setUI(DesktopPaneUI ui) Sets the L&F object that renders this component.
void updateUI() Notification from the UIManager that the L&F has changed.
Methods inherited from class javax.swing.JLayeredPane
[addImpl](../../javax/swing/JLayeredPane.html#addImpl%28java.awt.Component, java.lang.Object, int%29), getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, [insertIndexForLayer](../../javax/swing/JLayeredPane.html#insertIndexForLayer%28int, int%29), isOptimizedDrawingEnabled, lowestLayer, moveToBack, moveToFront, paint, [putLayer](../../javax/swing/JLayeredPane.html#putLayer%28javax.swing.JComponent, int%29), remove, removeAll, [setLayer](../../javax/swing/JLayeredPane.html#setLayer%28java.awt.Component, int%29), [setLayer](../../javax/swing/JLayeredPane.html#setLayer%28java.awt.Component, int, int%29), [setPosition](../../javax/swing/JLayeredPane.html#setPosition%28java.awt.Component, int%29)
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, [contains](../../javax/swing/JComponent.html#contains%28int, int%29), createToolTip, disable, enable, [firePropertyChange](../../javax/swing/JComponent.html#firePropertyChange%28java.lang.String, boolean, boolean%29), [firePropertyChange](../../javax/swing/JComponent.html#firePropertyChange%28java.lang.String, char, char%29), [firePropertyChange](../../javax/swing/JComponent.html#firePropertyChange%28java.lang.String, int, int%29), [fireVetoableChange](../../javax/swing/JComponent.html#fireVetoableChange%28java.lang.String, java.lang.Object, java.lang.Object%29), getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, [paintImmediately](../../javax/swing/JComponent.html#paintImmediately%28int, int, int, int%29), paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, [processKeyBinding](../../javax/swing/JComponent.html#processKeyBinding%28javax.swing.KeyStroke, java.awt.event.KeyEvent, int, boolean%29), processKeyEvent, processMouseEvent, processMouseMotionEvent, [putClientProperty](../../javax/swing/JComponent.html#putClientProperty%28java.lang.Object, java.lang.Object%29), [registerKeyboardAction](../../javax/swing/JComponent.html#registerKeyboardAction%28java.awt.event.ActionListener, javax.swing.KeyStroke, int%29), [registerKeyboardAction](../../javax/swing/JComponent.html#registerKeyboardAction%28java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int%29), removeAncestorListener, removeNotify, removeVetoableChangeListener, [repaint](../../javax/swing/JComponent.html#repaint%28long, int, int, int, int%29), repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, [reshape](../../javax/swing/JComponent.html#reshape%28int, int, int, int%29), revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, [setFocusTraversalKeys](../../javax/swing/JComponent.html#setFocusTraversalKeys%28int, java.util.Set%29), setFont, setForeground, setInheritsPopupMenu, [setInputMap](../../javax/swing/JComponent.html#setInputMap%28int, javax.swing.InputMap%29), setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, [add](../../java/awt/Container.html#add%28java.awt.Component, int%29), [add](../../java/awt/Container.html#add%28java.awt.Component, java.lang.Object%29), [add](../../java/awt/Container.html#add%28java.awt.Component, java.lang.Object, int%29), [add](../../java/awt/Container.html#add%28java.lang.String, java.awt.Component%29), addContainerListener, addPropertyChangeListener, [addPropertyChangeListener](../../java/awt/Container.html#addPropertyChangeListener%28java.lang.String, java.beans.PropertyChangeListener%29), applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, [findComponentAt](../../java/awt/Container.html#findComponentAt%28int, int%29), findComponentAt, getComponent, [getComponentAt](../../java/awt/Container.html#getComponentAt%28int, int%29), getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, [list](../../java/awt/Container.html#list%28java.io.PrintStream, int%29), [list](../../java/awt/Container.html#list%28java.io.PrintWriter, int%29), [locate](../../java/awt/Container.html#locate%28int, int%29), minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeContainerListener, [setComponentZOrder](../../java/awt/Container.html#setComponentZOrder%28java.awt.Component, int%29), setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
[action](../../java/awt/Component.html#action%28java.awt.Event, java.lang.Object%29), add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, [checkImage](../../java/awt/Component.html#checkImage%28java.awt.Image, java.awt.image.ImageObserver%29), [checkImage](../../java/awt/Component.html#checkImage%28java.awt.Image, int, int, java.awt.image.ImageObserver%29), [coalesceEvents](../../java/awt/Component.html#coalesceEvents%28java.awt.AWTEvent, java.awt.AWTEvent%29), contains, createImage, [createImage](../../java/awt/Component.html#createImage%28int, int%29), [createVolatileImage](../../java/awt/Component.html#createVolatileImage%28int, int%29), [createVolatileImage](../../java/awt/Component.html#createVolatileImage%28int, int, java.awt.ImageCapabilities%29), disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, byte, byte%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, double, double%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, float, float%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, long, long%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, java.lang.Object, java.lang.Object%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String, short, short%29), 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](../../java/awt/Component.html#gotFocus%28java.awt.Event, java.lang.Object%29), handleEvent, hasFocus, hide, [imageUpdate](../../java/awt/Component.html#imageUpdate%28java.awt.Image, int, int, int, int, int%29), [inside](../../java/awt/Component.html#inside%28int, int%29), isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, [keyDown](../../java/awt/Component.html#keyDown%28java.awt.Event, int%29), [keyUp](../../java/awt/Component.html#keyUp%28java.awt.Event, int%29), list, list, list, location, [lostFocus](../../java/awt/Component.html#lostFocus%28java.awt.Event, java.lang.Object%29), [mouseDown](../../java/awt/Component.html#mouseDown%28java.awt.Event, int, int%29), [mouseDrag](../../java/awt/Component.html#mouseDrag%28java.awt.Event, int, int%29), [mouseEnter](../../java/awt/Component.html#mouseEnter%28java.awt.Event, int, int%29), [mouseExit](../../java/awt/Component.html#mouseExit%28java.awt.Event, int, int%29), [mouseMove](../../java/awt/Component.html#mouseMove%28java.awt.Event, int, int%29), [mouseUp](../../java/awt/Component.html#mouseUp%28java.awt.Event, int, int%29), [move](../../java/awt/Component.html#move%28int, int%29), nextFocus, paintAll, postEvent, [prepareImage](../../java/awt/Component.html#prepareImage%28java.awt.Image, java.awt.image.ImageObserver%29), [prepareImage](../../java/awt/Component.html#prepareImage%28java.awt.Image, int, int, java.awt.image.ImageObserver%29), processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, [removePropertyChangeListener](../../java/awt/Component.html#removePropertyChangeListener%28java.lang.String, java.beans.PropertyChangeListener%29), repaint, [repaint](../../java/awt/Component.html#repaint%28int, int, int, int%29), repaint, resize, [resize](../../java/awt/Component.html#resize%28int, int%29), [setBounds](../../java/awt/Component.html#setBounds%28int, int, int, int%29), setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, [setLocation](../../java/awt/Component.html#setLocation%28int, int%29), setLocation, setName, setSize, [setSize](../../java/awt/Component.html#setSize%28int, int%29), show, show, size, toString, transferFocus, transferFocusUpCycle
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, [wait](../../java/lang/Object.html#wait%28long, int%29)
Field Detail

LIVE_DRAG_MODE

public static final int LIVE_DRAG_MODE

Indicates that the entire contents of the item being dragged should appear inside the desktop pane.

See Also:

OUTLINE_DRAG_MODE, setDragMode(int), Constant Field Values


OUTLINE_DRAG_MODE

public static final int OUTLINE_DRAG_MODE

Indicates that an outline only of the item being dragged should appear inside the desktop pane.

See Also:

LIVE_DRAG_MODE, setDragMode(int), Constant Field Values

Constructor Detail

JDesktopPane

public JDesktopPane()

Creates a new JDesktopPane.

Method Detail

getUI

public DesktopPaneUI getUI()

Returns the L&F object that renders this component.

Returns:

the DesktopPaneUI object that renders this component


setUI

public void setUI(DesktopPaneUI ui)

Sets the L&F object that renders this component.

Parameters:

ui - the DesktopPaneUI L&F object

See Also:

UIDefaults.getUI(javax.swing.JComponent)


setDragMode

public void setDragMode(int dragMode)

Sets the "dragging style" used by the desktop pane. You may want to change to one mode or another for performance or aesthetic reasons.

Parameters:

dragMode - the style of drag to use for items in the Desktop

See Also:

LIVE_DRAG_MODE, OUTLINE_DRAG_MODE


getDragMode

public int getDragMode()

Gets the current "dragging style" used by the desktop pane.

Returns:

either Live_DRAG_MODE orOUTLINE_DRAG_MODE

See Also:

setDragMode(int)


getDesktopManager

public DesktopManager getDesktopManager()

Returns the DesktopManger that handles desktop-specific UI actions.


setDesktopManager

public void setDesktopManager(DesktopManager d)

Sets the DesktopManger that will handle desktop-specific UI actions.

Parameters:

d - the DesktopManager to use


updateUI

public void updateUI()

Notification from the UIManager that the L&F has changed. Replaces the current UI object with the latest version from the UIManager.

Overrides:

[updateUI](../../javax/swing/JComponent.html#updateUI%28%29) in class [JComponent](../../javax/swing/JComponent.html "class in javax.swing")

See Also:

JComponent.updateUI()


getUIClassID

public String getUIClassID()

Returns the name of the L&F class that renders this component.

Overrides:

[getUIClassID](../../javax/swing/JComponent.html#getUIClassID%28%29) in class [JComponent](../../javax/swing/JComponent.html "class in javax.swing")

Returns:

the string "DesktopPaneUI"

See Also:

JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)


getAllFrames

public JInternalFrame[] getAllFrames()

Returns all JInternalFrames currently displayed in the desktop. Returns iconified frames as well as expanded frames.

Returns:

an array of JInternalFrame objects


getSelectedFrame

public JInternalFrame getSelectedFrame()

Returns the currently active JInternalFrame in this JDesktopPane, or null if no JInternalFrame is currently active.

Returns:

the currently active JInternalFrame ornull

Since:

1.3


setSelectedFrame

public void setSelectedFrame(JInternalFrame f)

Sets the currently active JInternalFrame in this JDesktopPane.

Parameters:

f - the internal frame that's currently selected

Since:

1.3


getAllFramesInLayer

public JInternalFrame[] getAllFramesInLayer(int layer)

Returns all JInternalFrames currently displayed in the specified layer of the desktop. Returns iconified frames as well expanded frames.

Parameters:

layer - an int specifying the desktop layer

Returns:

an array of JInternalFrame objects

See Also:

JLayeredPane


isOpaque

public boolean isOpaque()

Returns true to indicate that this component paints every pixel in its range. (In other words, it does not have a transparent background or foreground.)

Overrides:

[isOpaque](../../javax/swing/JComponent.html#isOpaque%28%29) in class [JComponent](../../javax/swing/JComponent.html "class in javax.swing")

Returns:

true

See Also:

JComponent.isOpaque()


paramString

protected String paramString()

Returns a string representation of this JDesktopPane. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be null.

Overrides:

[paramString](../../javax/swing/JLayeredPane.html#paramString%28%29) in class [JLayeredPane](../../javax/swing/JLayeredPane.html "class in javax.swing")

Returns:

a string representation of this JDesktopPane


getAccessibleContext

public AccessibleContext getAccessibleContext()

Gets the AccessibleContext associated with thisJDesktopPane. For desktop panes, theAccessibleContext takes the form of an AccessibleJDesktopPane. A new AccessibleJDesktopPane instance is created if necessary.

Specified by:

[getAccessibleContext](../../javax/accessibility/Accessible.html#getAccessibleContext%28%29) in interface [Accessible](../../javax/accessibility/Accessible.html "interface in javax.accessibility")

Overrides:

[getAccessibleContext](../../javax/swing/JLayeredPane.html#getAccessibleContext%28%29) in class [JLayeredPane](../../javax/swing/JLayeredPane.html "class in javax.swing")

Returns:

an AccessibleJDesktopPane that serves as the AccessibleContext of this JDesktopPane



Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.