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
Fields inherited from class java.awt.Container |
|
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.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 |
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
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