de.jsystems.framework.common
Class BusinessDynamicView

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byde.jsystems.framework.controls.FPanel
                      extended byde.jsystems.framework.common.BusinessView
                          extended byde.jsystems.framework.common.BusinessDynamicView
All Implemented Interfaces:
Accessible, IActionInterface, IAncestor, IComponent, IContainer, IFocus, IHierarchy, IHierarchyBounds, IInputMethod, IKey, ImageObserver, IMouse, IMouseInput, IMouseMotion, IPropertyChange, IVetoableChange, MenuContainer, Serializable

public class BusinessDynamicView
extends BusinessView

BusinessView deren Oberfläche dynamisch erzeugt wird. Die Felder der Oberfläche richten sich dabei nach dem Item, das angezeigt wird. Erlaubte Itemtypen sind dabei Item und DynamicItem. Standardmaessig hat die View zwei Buttons mit der Beschriftung 'Übernehmen' und 'Abbrechen'. Beide Buttons in der Oberflaeche haben keine gesetzte Action. Dazu kann ueber die beiden Methoden getOKButton() und getCancelButton() auf die beiden Buttons zugegriffen werden und der entsprechenden ActionClassName gesetzt werden. Die Action muessen gesetzt werden, bevor die View in einem Controller registriert wird, da beim registrieren die Actions gesetzt 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.JPanel
JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
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
 
Fields inherited from class de.jsystems.framework.common.BusinessView
item, ml, printComponent, validator
 
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.Container
 
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
BusinessDynamicView(Class itemClass)
          Erzeugt eine neue Dynamische View.
 
Method Summary
 FButton getCancelButton()
          Gibt den Abbrechen-Button aus der Oberflaeche zurueck.
 FButton getOKButton()
          Gibt den OK-Button aus der Oberflaeche zurueck.
 Dimension getSize()
          Gibt die Größe zurück die der Dialog oder das Fenster erhalten soll, wenn diese View angezeigt wird.
 String getViewName()
          Gibt den Namen der View an.
 void init(Item item)
          Setzt das Item das angezeigt werden soll.
protected  void initCenter(DynamicItem item)
          Auf Grund der Daten aus dem Item wird der Centerbereich der View angepasst.
protected  void initCenter(Item item)
          Aufgrund der Daten aus dem Item wird der Centerbereich der View angepasst.
protected  void initGui()
          Hier wird die Buttonleiste mit den beiden Buttons angelegt und der View hinzugefuegt.
protected  void initGuiElementNames()
          In dieser Methode muß all den Oberflächenelementen ein Name gegeben werden, die mit der Methode setData automatisch gefüllt werden sollen.
protected  void initGuiElements()
          Erzeugt die Oberflächenkomponenten (Panels, Textfelder, ...)
 boolean isModal()
          Legt fest, ob ein Dialog mit dieser View Modal ist oder nicht.
 boolean isResizable()
          Legt fest, ob die View in der Größe veränderbar sein soll bei der Anzeige oder nicht.
protected  void markMussfelder()
          Markiert Eingabefelder für Muss-Attribute des Items.
 void setMode(int mode)
          Setzt den Ansichtsmodus für diesen Dialog.
 
Methods inherited from class de.jsystems.framework.common.BusinessView
bindModels, castDynamicItemAttribut, clearComponent, clearData, disableComponent, enableComponent, getData, getData, getKomponente, getKomponenten, getMessageList, getMode, getPrintComponent, getTitel, getUserData, initPrintComponent, labelView, setData, setData, setTextData, setUserData, setViewItemValidator, validateView, validateView
 
Methods inherited from class de.jsystems.framework.controls.FPanel
addMouseInputListener, getActionClassForAncestor, getActionClassForComponent, getActionClassForContainer, getActionClassForFocus, getActionClassForHierarchy, getActionClassForHierarchyBounds, getActionClassForInputMethod, getActionClassForKey, getActionClassForMouse, getActionClassForMouseInput, getActionClassForMouseMotion, getActionClassForPropertyChange, getActionClassForVetoableChange, removeMouseInputListener, setActionClassForAncestor, setActionClassForComponent, setActionClassForContainer, setActionClassForFocus, setActionClassForHierarchy, setActionClassForHierarchyBounds, setActionClassForInputMethod, setActionClassForKey, setActionClassForMouse, setActionClassForMouseInput, setActionClassForMouseMotion, setActionClassForPropertyChange, setActionClassForVetoableChange
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, 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.swing.IAncestor
addAncestorListener, removeAncestorListener
 
Methods inherited from interface de.jsystems.framework.common.action.beans.IPropertyChange
addPropertyChangeListener, removePropertyChangeListener
 
Methods inherited from interface de.jsystems.framework.common.action.beans.IVetoableChange
addVetoableChangeListener, removeVetoableChangeListener
 
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
 

Constructor Detail

BusinessDynamicView

public BusinessDynamicView(Class itemClass)
                    throws ItemInstantiateException
Erzeugt eine neue Dynamische View. Diese stellt alle Felder des uebergebenen Items dar. Diese koennen dann in der Oberflaeche editiert werden, sofern die Attribute des Items nicht als unsichtbar oder nicht editierbar gekennzeichnet wurden.

Parameters:
itemClass - Der Typ des anzuzeigenden Items.
Throws:
ItemInstantiateException - wenn beim erzeugen des Items ein Fehler aufgetreten ist.
See Also:
Item
Method Detail

initGuiElements

protected void initGuiElements()
Erzeugt die Oberflächenkomponenten (Panels, Textfelder, ...) die angezeigt werden sollen.

Specified by:
initGuiElements in class BusinessView

initGui

protected void initGui()
Hier wird die Buttonleiste mit den beiden Buttons angelegt und der View hinzugefuegt. Ansonsten aendert sich hier an der Oberflaeche noch nichts. Das Layout für diese View muß auch in dieser Methode gesetzt werden. Das darf nicht in einer anderen Methode(z.B. dem Konstruktor) geschehen, da diese Methode vor dem Konstruktor der View aufgerufen wird.

Specified by:
initGui in class BusinessView

getOKButton

public FButton getOKButton()
Gibt den OK-Button aus der Oberflaeche zurueck. Damit kann der Button mit den gewuenschten Actions versehen werden. Die Actions fuer den Button muessen gesetzt werden, bevor die View im Controller registriert wird.

Returns:
Der OK-Button.

getCancelButton

public FButton getCancelButton()
Gibt den Abbrechen-Button aus der Oberflaeche zurueck. Damit kann der Button mit den gewuenschten Actions versehen werden. Die Actions fuer den Button muessen gesetzt werden, bevor die View im Controller registriert wird.

Returns:
Der Abbrechen-Button.

init

public void init(Item item)
Setzt das Item das angezeigt werden soll. Damit wird dann dynamisch das Aussehen der View angepasst. Wenn beim Initialisieren der Oberflaeche durch das Item ein Fehler auftritt, so wird eine InitializeDynamicViewException ausgeloest.

Parameters:
item - Das Item, das in der View dargestellt werden soll.

markMussfelder

protected void markMussfelder()
Markiert Eingabefelder für Muss-Attribute des Items. Standardmäßig wird für diese Felder hier eine rote Hintergrundfarbe gesetzt. Wird hier überschrieben, da diese Einstellungen abhängig vom anzuzeigenden Item sind. Das passiert dann in der Methode initCenter(DynamicItem) oder initCenter(Item).

Overrides:
markMussfelder in class BusinessView

initCenter

protected void initCenter(Item item)
Aufgrund der Daten aus dem Item wird der Centerbereich der View angepasst. Dabei werden die einzelnen Attribute des Items in einem Array von 10 Zeilen und so vielen Spalten angezeigt wie nötig. Die get-Methoden der Klassen:
  • Object
  • Item
  • TableItem
  • TreeItem

    werden hier nicht beruecksichtigt. Das liegt daran, das es sich bei diesen Klassen um Basisklassen handelt, die durchaus get-Methoden haben, diese aber keine eigentlichen Datenattribute der Items sind.
    Wenn ein Fehler beim bauen der Oberflaeche aus dem Item Auftritt, so wird eine InitializeDynamicViewException ausgeloest.

    Parameters:
    item - Das Item, aus dem die Oberflaeche generiert werden soll.

  • initCenter

    protected void initCenter(DynamicItem item)
    Auf Grund der Daten aus dem Item wird der Centerbereich der View angepasst. Dabei werden die einzelnen Attribute des Items in einem Array von 10 Zeilen und so vielen Spalten angezeigt wie nötig. Wenn ein Fehler beim bauen der Oberflaeche aus dem Item Auftritt, so wird eine InitializeDynamicViewException ausgeloest.

    Parameters:
    item - Das Item, aus dem die Oberflaeche generiert werden soll.

    initGuiElementNames

    protected void initGuiElementNames()
    In dieser Methode muß all den Oberflächenelementen ein Name gegeben werden, die mit der Methode setData automatisch gefüllt werden sollen. Hier ist das in den Methoden initCenter(de.jsystems.framework.common.Item) bzw. initCenter(de.jsystems.framework.common.DynamicItem) schon geschehen, und zwar fuer alle Felder.

    Specified by:
    initGuiElementNames in class BusinessView

    getViewName

    public String getViewName()
    Gibt den Namen der View an. Diese Dieser Name wird beim registrieren der View als Schlüssel benutzt, damit die View auch wiedergefunden werden kann. Der Name muß eindeutig sein. Hier wird als Name 'BusinessDynamicView' zurueckgegeben.

    Specified by:
    getViewName in class BusinessView
    Returns:
    Der Name der View.

    isModal

    public boolean isModal()
    Legt fest, ob ein Dialog mit dieser View Modal ist oder nicht. Falls diese Komponente in einem Fenster(Frame) angezeigt wird hat der Inhalt dieser Methode keine Auswirkung, da ein Fenster nicht modal sein kann. Die Methode gibt Standardmäßig false zurück und muß für ein anderes Verhalten überschrieben werden.

    Overrides:
    isModal in class BusinessView
    Returns:
    true oder false, je nach gewünschter Eigenschaft. Standardmäßig false.

    isResizable

    public boolean isResizable()
    Legt fest, ob die View in der Größe veränderbar sein soll bei der Anzeige oder nicht. Standardmäßig gibt die Methode true zurück. Falls ein anderes Verhalten gewünscht ist muß die Methode überschrieben werden.

    Overrides:
    isResizable in class BusinessView
    Returns:
    true oder false, je nach gewünschter Eigenschaft. Standardmäßig true.

    getSize

    public Dimension getSize()
    Gibt die Größe zurück die der Dialog oder das Fenster erhalten soll, wenn diese View angezeigt wird. Standardmäßig wird die Größe der View zurückgegeben. Falls ein anderer Wert gewünscht wird muß diese Methode überschreiben werden. Die Methode sollte erst dann aufgerufen wernde, wenn ueber die Methode init(de.jsystems.framework.common.Item) die Oberflaeche erzeugt wurde.

    Overrides:
    getSize in class BusinessView
    Returns:
    Die Größe als Dimension-Objekt.

    setMode

    public void setMode(int mode)
    Setzt den Ansichtsmodus für diesen Dialog. Mögliche Modi:
  • Editieren
  • Ansehen

    Dabei gilt folgende Festlegung:
    Editieren: alle Felder, die eine Eingabe entgegennehmen können, werden auf editierbar gesetzt.
    Ansehen: alle Felder, die editiert werden können, werden auf nicht Editierbar gesetzt.
    Hier wird im Modus Ansehen der OK-Button abgeschaltet.

    Overrides:
    setMode in class BusinessView
    Parameters:
    mode - Der Modus in dem die View angezeigt werden soll.
    See Also:
    FrameworkKonstanten.EDITMODE, FrameworkKonstanten.SHOWMODE