9.3 The JDesktopPane Class
JDesktopPane is an
extension of JLayeredPane, which uses a
DesktopManager to control the placement and
movement of frames. Figure 9-3 shows
what JDesktopPane looks like in several
L&Fs. Like its superclass,
JLayeredPane has a null layout
manager. Components added to it must be placed at absolute locations
with absolute sizes because it is intended to house
JInternalFrames, which rely on the user to
determine their placement.
Another reason for using JDesktopPane is to allow
pop-up dialog boxes to be displayed using
JInternalFrames. This is discussed in detail in
the next chapter.
9.3.1 Properties
Table 9-4 shows the properties defined by
JDesktopPane. The
allFrames property provides access to all
JInternalFrames contained by the desktop. The
desktopManager property holds the
DesktopManager object supplied by the
pane's L&F. (We'll cover the
responsibilities of the DesktopManager in the next
section.) The opaque property defaults to
true for JDesktopPanes, and
isOpaque( ) is overridden so that it always
returns true. UI contains the
DesktopPaneUI implementation, and
UIClassID contains the class ID for
JDesktopPane.
Table 9-4. JDesktopPane properties
accessibleContexto
|
AccessibleContext
|
·
|
|
|
JDesktopPane.AccessibleJDesktopPane( )
|
allFrames
|
JInternalFrame[]
|
·
|
|
|
Empty array
|
desktopManager
|
DesktopManager
|
·
|
|
·
|
From L&F
|
dragMode1.3
|
int
|
·
|
|
·
|
LIVE_DRAG_MODE
|
opaqueo
|
boolean
|
|
·
|
·
|
true
|
selectedFrame1.3
|
JInternalFrame
|
·
|
|
·
|
Depends on current state
|
UI
|
DesktopPaneUI
|
·
|
|
·
|
From L&F
|
UIClassIDo
|
String
|
·
|
|
|
"DesktopPaneUI"
|
1.3since 1.3, ooverridden
See also properties from the JLayeredPane class (Table 8-5).
|
9.3.2 Constructor
- public JDesktopPane( )
-
Create a new desktop and call updateUI( ),
resulting in the L&F implementation installing a
DesktopManager.
9.3.3 Methods
- public JInternalFrame[] getAllFramesInLayer(int layer)
-
Return all frames that have been added to the specified layer. This
includes frames that have been iconified.
- public void updateUI( )
-
Called to indicate that the L&F for the desktop should be
set.
|