public class DesktopContext extends AppContextDelegate implements MDIContext
The implementation of JDesktopPane in Swing is not really quite what we want in a frame of this type, so there are various listeners attached to the JDesktopPane and the internal components that resize and reparent components in a more useful way.
Each "content pane" that is added to this frame is added by default to a JInternalFrame. However, the pane may be removed from the pane, either by the JDesktopPane when it is iconified, or by this class when the internal frame is maximized. Hence, users of this class should not rely on the content pane actually being contained by the internal frame that it is associated with.
MDI applications often contain multiple toolbars. This class implements a toolbar pane that contains the basic toolbar, along with any other toolbars in the application.
Modifier and Type | Field and Description |
---|---|
static int |
LAYOUT_CASCADED
The layout mode in which internal frames are cascaded one above another.
|
static int |
LAYOUT_HORIZONTAL
The layout mode in which internal frames are tiled horizontally.
|
static int |
LAYOUT_PLACED
The layout mode in which internal frames are placed by the user.
|
static int |
LAYOUT_VERTICAL
The layout mode in which internal frames are tiled vertically.
|
Constructor and Description |
---|
DesktopContext(AppContext context)
Create an instance of this Frame with the application.
|
DesktopContext(AppContext context,
javax.swing.JComponent palette)
Create an instance of this Frame with the application.
|
Modifier and Type | Method and Description |
---|---|
void |
addContentPane(java.lang.String title,
javax.swing.JComponent pane)
Add a content pane to this frame.
|
void |
addViewListener(ViewListener listener)
Add a view listener to this frame.
|
javax.swing.JComponent |
getCurrentContentPane()
Get the content pane that is displayed as the current content
pane.
|
javax.swing.Icon |
getFrameIcon()
Return the icon that is displayed in the frame.
|
javax.swing.JInternalFrame |
getInternalFrame(javax.swing.JComponent pane)
Return the internal frame for a given component.
|
javax.swing.JToolBar |
getJToolBar()
Get the tool bar.
|
int |
getLayoutMode()
Get the layout mode
|
javax.swing.JComponent |
getPalettePane()
Get the component used for palettes and the like.
|
javax.swing.JSplitPane |
getSplitPane()
Get the split pane separating the shade pane and the desktop
pane.
|
JStatusBar |
getStatusBar()
Get the status bar.
|
javax.swing.JPanel |
getToolBarPane()
Get the tool bar pane.
|
boolean |
isMaximizeMode()
Test if we are in maximize mode
|
void |
refreshLayout()
Refresh the layout of the internal frames.
|
void |
removeContentPane(javax.swing.JComponent pane)
Remove the given content pane from the display and close.
|
void |
removeViewListener(ViewListener listener)
Remove a view listener from this frame.
|
void |
setCurrentContentPane(javax.swing.JComponent pane)
Set the given content pane to be displayed as the current
content pane.
|
void |
setFrameIcon(javax.swing.Icon icon)
Set the icon that is displayed in
internal frames.
|
void |
setLayoutMode(int mode)
Set the layout mode.
|
void |
setMaximizeMode(boolean mode)
Set the maximize mode.
|
void |
setPalettePane(javax.swing.JComponent pane)
Set the palette pane of the context to the given component.
|
void |
showStatus(java.lang.String status)
Show the given status string in the context.
|
getContentPane, getDelegate, getExitAction, getGlassPane, getIconImage, getJMenuBar, getLayeredPane, getRootPane, getTitle, isVisible, makeComponent, setContentPane, setExitAction, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setSize, setTitle, setVisible
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getExitAction, getIconImage, getJMenuBar, getTitle, isVisible, makeComponent, setExitAction, setIconImage, setJMenuBar, setSize, setTitle, setVisible
public static final int LAYOUT_PLACED
public static final int LAYOUT_HORIZONTAL
public static final int LAYOUT_VERTICAL
public static final int LAYOUT_CASCADED
public DesktopContext(AppContext context)
public DesktopContext(AppContext context, javax.swing.JComponent palette)
public void addContentPane(java.lang.String title, javax.swing.JComponent pane)
addContentPane
in interface MDIContext
public void addViewListener(ViewListener listener)
addViewListener
in interface MDIContext
public javax.swing.JComponent getCurrentContentPane()
getCurrentContentPane
in interface MDIContext
public javax.swing.Icon getFrameIcon()
getFrameIcon
in interface MDIContext
public javax.swing.JInternalFrame getInternalFrame(javax.swing.JComponent pane)
public int getLayoutMode()
public javax.swing.JComponent getPalettePane()
public JStatusBar getStatusBar()
public javax.swing.JSplitPane getSplitPane()
public javax.swing.JToolBar getJToolBar()
public javax.swing.JPanel getToolBarPane()
public boolean isMaximizeMode()
public void refreshLayout()
public void removeContentPane(javax.swing.JComponent pane)
removeContentPane
in interface MDIContext
public void removeViewListener(ViewListener listener)
removeViewListener
in interface MDIContext
public void setCurrentContentPane(javax.swing.JComponent pane)
setCurrentContentPane
in interface MDIContext
public void setFrameIcon(javax.swing.Icon icon)
setFrameIcon
in interface MDIContext
public void setLayoutMode(int mode)
public void setMaximizeMode(boolean mode)
public void setPalettePane(javax.swing.JComponent pane)
public void showStatus(java.lang.String status)
showStatus
in interface AppContext
showStatus
in class AppContextDelegate