de.jsystems.framework.desktop
Class BusinessDesktopFrame

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended byde.jsystems.framework.controls.FFrame
                          extended byde.jsystems.framework.common.BusinessFrame
                              extended byde.jsystems.framework.desktop.BusinessDesktopFrame
All Implemented Interfaces:
Accessible, IActionInterface, IComponent, IContainer, IFocus, IHierarchy, IHierarchyBounds, IInputMethod, IKey, ImageObserver, IMouse, IMouseInput, IMouseMotion, IPropertyChange, IWindow, MenuContainer, RootPaneContainer, Serializable, WindowConstants

public class BusinessDesktopFrame
extends BusinessFrame

Zeigt ein Frame als MDI-Frame an. Diesem Frame können nur Objekte vom Typ BusinessInternalFrame zugeordnet werden. Der Desktop kann ein Menue und eine Toolbar enthalten. Zusaetzlich kann hier noch eine Taskleiste angezeigt werden. Ueber diese ist es moeglich, die einzelnen Fenster auf dem Desktop in den Vordergrund zu bringen. Diese ist auch moeglich ueber ein Fenster-Menue. Dieses wird automatisch hinzugefuegt, sofern es noch nicht vorhanden ist. Ueber dieses Fenster-Menue koennen die im Desktop enthaltenen Fenster auch angeordnet werden.

Version:
1.0
Copyright by Jens Homm 2001 - 2003
Author:
Jens Homm JSYSTEMS
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  BusinessDesktopFrameController desktopController
          Controller für den Desktop
protected  BusinessMenu desktopMenu
          Menü des Desktop
protected  BusinessToolbar desktopToolbar
          Toolbar des Desktop
protected  JScrollPane sp
          JScrollPane für den Desktop.
 
Fields inherited from class de.jsystems.framework.common.BusinessFrame
controller, leftView, rightView, view
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Window
 
Fields inherited from class java.awt.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
BusinessDesktopFrame(BusinessDesktopFrameController desktopController)
          Erzeugt das MDI.
 
Method Summary
(package private)  void addInternalFrame(BusinessInternalFrame internalFrame)
          Fügt dem Desktopbereich ein neues InternalFrame hinzu.
(package private)  BusinessInternalFrame getActiveFrame()
          Gibt das aktuell im Vordergrund stehende Fenster zurück.
 FInternalFrame[] getAllFrames()
          Gibt ein Array mit allen InternalFrames zurück.
 BusinessDesktopFrameController getDesktopController()
          Gibt den Controller für diesen Desktop zurück.
 Dimension getDesktopSize()
          Gibt die bevorzugte Groesse des virtuellen Desktop zurück.
 DefaultStatusZeile getStatusArea()
          Gibt die angezeigte Statuszeile zurück.
 Taskleiste getTaskleiste()
          Gibt die angezeigte Taskleiste zurück.
(package private)  void removeInternalFrame(BusinessInternalFrame internalFrame)
          Löscht das uebergebene InternalFrame aus dem Desktop.
 void removeStatusArea()
          Löscht die Statuszeile am unteren Rand des Desktop.
 void removeTaskleiste()
          Löscht die Taskleiste am unteren Rand des Desktop.
 void replaceMenue(BusinessMenu businessMenu)
          Tauscht das gerade aktuell angezeigte Menue gegen das uebergebene aus.
 void replaceToolbar(BusinessToolbar businessToolbar)
          Tauscht die gerade aktuell angezeigte Toolbar gegen die uebergebene Toolbar aus.
 void resizeDesktop()
          Aktualisiert die Größe des ScrollPane, damit nach der Bewegung eines InternalFrames die Scrollbalken wieder angepasst werden.
 void setDesktopController(BusinessDesktopFrameController desktopController)
          Setzt den Controller für diesen Desktop.
 void setDesktopLayout(LayoutManager layout)
          Setzt den LayoutManager fuer den Desktop.
 void setDesktopSize(Dimension dim)
          Setzt die bevorzugte Groesse des virtuellen Desktop.
 void setStatusArea(DefaultStatusZeile statusArea)
          Setzt eine Statuszeile im Desktop.
 void setTaskleiste(Taskleiste taskleiste)
          Setzt die Taskleiste im Desktop.
 
Methods inherited from class de.jsystems.framework.common.BusinessFrame
getBusinessView, getController, getLeftBusinessView, getMenue, getRightBusinessView, getToolbar, removeToolbar, setBusinessView, setController, setLeftBusinessView, setMenue, setRightBusinessView, setToolbar, zentrieren
 
Methods inherited from class de.jsystems.framework.controls.FFrame
addMouseInputListener, getActionClassForComponent, getActionClassForContainer, getActionClassForFocus, getActionClassForHierarchy, getActionClassForHierarchyBounds, getActionClassForInputMethod, getActionClassForKey, getActionClassForMouse, getActionClassForMouseInput, getActionClassForMouseMotion, getActionClassForPropertyChange, getActionClassForWindow, removeMouseInputListener, setActionClassForComponent, setActionClassForContainer, setActionClassForFocus, setActionClassForHierarchy, setActionClassForHierarchyBounds, setActionClassForInputMethod, setActionClassForKey, setActionClassForMouse, setActionClassForMouseInput, setActionClassForMouseMotion, setActionClassForPropertyChange, setActionClassForWindow
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.jsystems.framework.common.action.IActionInterface
isEnabled, setEnabled
 
Methods inherited from interface de.jsystems.framework.common.action.beans.IPropertyChange
addPropertyChangeListener, removePropertyChangeListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IWindow
addWindowListener, removeWindowListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IContainer
addContainerListener, removeContainerListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IComponent
addComponentListener, removeComponentListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IFocus
addFocusListener, removeFocusListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IHierarchy
addHierarchyListener, removeHierarchyListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IHierarchyBounds
addHierarchyBoundsListener, removeHierarchyBoundsListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IInputMethod
addInputMethodListener, removeInputMethodListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IKey
addKeyListener, removeKeyListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IMouse
addMouseListener, removeMouseListener
 
Methods inherited from interface de.jsystems.framework.common.action.awt.IMouseMotion
addMouseMotionListener, removeMouseMotionListener
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

desktopMenu

protected BusinessMenu desktopMenu
Menü des Desktop


desktopToolbar

protected BusinessToolbar desktopToolbar
Toolbar des Desktop


desktopController

protected BusinessDesktopFrameController desktopController
Controller für den Desktop


sp

protected JScrollPane sp
JScrollPane für den Desktop.

Constructor Detail

BusinessDesktopFrame

public BusinessDesktopFrame(BusinessDesktopFrameController desktopController)
Erzeugt das MDI. Der übergebene Controller ist gleichzeitig auch der DesktopManager zum verwalten der InternalFrames. Der Controller darf nicht NULL sein. Am Fenstermenue (Die drei kleinen Icons rechts in der Ecke der Titelleiste) wird eine ExitAction registriert, damit beim schliessen des Desktop die VM beendet wird.

Parameters:
desktopController - Der Controller fuer den Desktop. Dieser ist gleichzeitig auch der DesktopManager fuer die Verwaltung der InternalFrames.
See Also:
ExitAction
Method Detail

setDesktopController

public void setDesktopController(BusinessDesktopFrameController desktopController)
Setzt den Controller für diesen Desktop. Dieser Controller ist auch gleichzeitig der DesktopManager fuer die Verwaltung der InternalFrames. Der Controller darf nicht NULL sein.

Parameters:
desktopController - Der Controller fuer den Desktop. Dieser ist gleichzeitig auch der DesktopManager fuer die Verwaltung der InternalFrames.

getDesktopController

public BusinessDesktopFrameController getDesktopController()
Gibt den Controller für diesen Desktop zurück.

Returns:
der Controller des Desktop.

addInternalFrame

void addInternalFrame(BusinessInternalFrame internalFrame)
Fügt dem Desktopbereich ein neues InternalFrame hinzu. Im Desktop wird das neue Fenster als das aktive gekennzeichnet. Das uebergebene InternalFrame darf nicht NULL sein.

Parameters:
internalFrame - Das InternalFrame, das dem Desktop hinzugefuegt werden soll.

removeInternalFrame

void removeInternalFrame(BusinessInternalFrame internalFrame)
Löscht das uebergebene InternalFrame aus dem Desktop. Das Fenstermenue und die Taskleiste werden entsprechend angepasst. Wenn NULL uebergeben wird passiert nichts.

Parameters:
internalFrame - Das aus dem Desktop zu loeschende InternalFrame.

getActiveFrame

BusinessInternalFrame getActiveFrame()
Gibt das aktuell im Vordergrund stehende Fenster zurück.

Returns:
Das im Desktop aktivierte InternalFrame.

setStatusArea

public void setStatusArea(DefaultStatusZeile statusArea)
Setzt eine Statuszeile im Desktop. Ueber diese koennen dann einzelne Meldungen oder Stati angezeigt werden.

Overrides:
setStatusArea in class BusinessFrame
Parameters:
statusArea - Eine Statusanzeige, die am unteren Rand des Desktop angezeigt wird.

getStatusArea

public DefaultStatusZeile getStatusArea()
Gibt die angezeigte Statuszeile zurück.

Overrides:
getStatusArea in class BusinessFrame
Returns:
Die am unteren Rand angezeigte Statuszeile.

removeStatusArea

public void removeStatusArea()
Löscht die Statuszeile am unteren Rand des Desktop.

Overrides:
removeStatusArea in class BusinessFrame

setTaskleiste

public void setTaskleiste(Taskleiste taskleiste)
Setzt die Taskleiste im Desktop. Diese zeigt fuer jedes InternalFrame einen Button an. Ueber diesen Button kann das zugehoerige InternalFrame aktiviert oder deaktiviert werden.

Parameters:
taskleiste - Die Taskleiste fuer den unteren Rand des Desktop.

getTaskleiste

public Taskleiste getTaskleiste()
Gibt die angezeigte Taskleiste zurück.

Returns:
Die Taskleiste des Desktop.

removeTaskleiste

public void removeTaskleiste()
Löscht die Taskleiste am unteren Rand des Desktop.


replaceMenue

public void replaceMenue(BusinessMenu businessMenu)
Tauscht das gerade aktuell angezeigte Menue gegen das uebergebene aus. Von dieser Möglichkeit wird gebrauch gemacht beim maximieren oder minimieren eines InternalFrame, sofern dieses ueber ein eigenes Menue verfuegt.

Parameters:
businessMenu - Das Menu, das im Desktop angezeigt werden soll.

replaceToolbar

public void replaceToolbar(BusinessToolbar businessToolbar)
Tauscht die gerade aktuell angezeigte Toolbar gegen die uebergebene Toolbar aus. Von dieser Möglichkeit wird gebrauch gemacht beim maximieren oder minimieren eines InternalFrame, sofern dieses ueber eine eigene Toolbar verfuegt.

Parameters:
businessToolbar - Die Toolbra, die im Desktop angezeigt werden soll.

setDesktopSize

public void setDesktopSize(Dimension dim)
Setzt die bevorzugte Groesse des virtuellen Desktop. Das ist der Bereich, in dem die InternalFrames bewegt werden koennen. Bei Bedarf werden rechts und unten Scrollbars eingeblendet.

Parameters:
dim - Die neue Groesse fuer den virtuellen Desktop.

getDesktopSize

public Dimension getDesktopSize()
Gibt die bevorzugte Groesse des virtuellen Desktop zurück. Das ist der Bereich, in dem die InternalFrames bewegt werden koennen.

Returns:
Die bevorzugte Groesse des virtuellen Desktop

getAllFrames

public FInternalFrame[] getAllFrames()
Gibt ein Array mit allen InternalFrames zurück.

Returns:
Ein Array mit allen InternalFrames des Desktop.

resizeDesktop

public void resizeDesktop()
Aktualisiert die Größe des ScrollPane, damit nach der Bewegung eines InternalFrames die Scrollbalken wieder angepasst werden.


setDesktopLayout

public void setDesktopLayout(LayoutManager layout)
Setzt den LayoutManager fuer den Desktop. Normalerweise hat der Desktop ein NULL-Layout. Die Methode sollte nicht extern aufgerufen werden. Sie wird intern fuer die Anordnung der Fenster benoetigt.

Parameters:
layout - Der LayoutManager fuer den Desktop.