Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.jsystems.framework.common
Class BusinessDynamicView

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JPanel
                      de.jsystems.framework.controls.FPanel
                          de.jsystems.framework.common.BusinessView
                              de.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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD