|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
de.jsystems.framework.controls.FPanel
de.jsystems.framework.common.BusinessView
Oberflächenelement für die Fensterklassen BusinessDialog und BusinessFrame. In dieser Klasse wird das Aussehen der einzelnen Oberflächen eingestellt sowie die Grösse. Hier wird auch festgelegt, ob der Dialog oder das Fenster nachher in der Grösse veränderbar sein soll oder nicht sowie der Titel des Dialoges oder Fensters festgelegt. Diese Klasse muss für eine konkrete View überschrieben werden.
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 | |
protected Item |
item
Das von dieser View angezeigt Item |
protected MessageList |
ml
Messagelist für die Methode getData(de.jsystems.framework.common.Item) . |
protected int |
mode
Modus der View |
protected FPanel |
printComponent
Druckbare Komponente |
protected ViewItemValidator |
validator
Das Validierungsobjekt zur Oberflächenprüfung. |
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 | |
BusinessView()
Erzeugt eine neue View. |
|
BusinessView(Class itemClass)
Erzeugt eine neue View. |
Method Summary | |
protected void |
bindModels()
Verbindet ComboBoxen
und Listen mit ihren
Models fuer die anzuzeigenden Daten, sofern in den Controls eine Klasse
für das Model gesetzt wurde. |
protected Object |
castDynamicItemAttribut(DynamicItem item,
Object value,
String attributeName)
Diese Methode muss überschrieben werden, wenn ein Item einen Attributtypen enthält, der nicht automatisch umgewadelt werden konnte. |
void |
clearComponent(String name)
Loescht den Inhalt der Komponente mit dem uebergebenen Namen. |
void |
clearData()
Löscht den Inhalt von Oberflächenelementen. |
void |
disableComponent(String name)
Schaltet die Komponente mit dem uebergebenen Namen auf nichteditierbar. |
void |
enableComponent(String name)
Schaltet die Komponente mit dem uebergenen Namen auf Editierbar. |
void |
getData(DynamicItem item)
Liest die Felder der Oberfläche aus und speichert die enthaltenen Werte im übergebenem Item. |
void |
getData(Item item)
Liest die Felder der Oberfläche aus und speichert die enthaltenen Werte im übergebenem Item. |
JComponent |
getKomponente(String name)
Gibt die Komponente zurück, die den übergebenen Namen hat. |
JComponent[] |
getKomponenten(JComponent c)
Holt rekursiv alle Komponenten aus der übergebenen JComponent. |
MessageList |
getMessageList()
Gibt die MessageList dieser View zurück. |
int |
getMode()
Gibt den aktuellen Modus der View zurück. |
FPanel |
getPrintComponent()
Gibt die zu druckende Componente zurück. |
Dimension |
getSize()
Gibt die Grösse zurück, die der Dialog oder das Fenster erhalten soll, wenn diese View angezeigt wird. |
String |
getTitel()
Setzt den Titel für die Titelzeile eines Dialoges oder eines Fensters. |
protected void |
getUserData(Item item)
Hier können noch weitere Benutzerabhängige Werte aus der Oberfläche gelesen und im Item geparkt werden. |
abstract String |
getViewName()
Gibt den Namen der View an. |
protected abstract void |
initGui()
Erzeugt die Oberfläche. |
protected abstract void |
initGuiElementNames()
In dieser Methode muss all den Oberflächenelementen ein Name gegeben werden, die mit der Methode setData(Item) oder setData(DynamicItem)
automatisch gefüllt werden sollen.
|
protected abstract void |
initGuiElements()
Erzeugt die Oberfl�chenkomponenten (Panels, Textfelder, ...) |
protected void |
initPrintComponent()
Wird in abgeleiteten Klassen überschrieben, wenn diese das Drucken unterstützen sollen. |
boolean |
isModal()
Legt fest, ob ein Dialog Modal ist oder nicht. |
boolean |
isResizable()
Legt fest, ob die View in der Grösse veränderbar sein soll bei der Anzeige oder nicht. |
protected void |
labelView()
Füllt all die Oberflächenelemente, die nicht Editierbar sind. |
protected void |
markMussfelder()
Markiert Eingabefelder für Muss-Attribute des Items. |
void |
setData(DynamicItem item)
Füllt die Oberfläche mit den Werten aus dem Item. |
void |
setData(Item item)
Füllt die Oberfläche mit den Werten aus dem Item. |
void |
setMode(int mode)
Setzt den Ansichtsmodus für diesen Dialog. |
void |
setTextData(String name,
String text)
Setzt den Text in einer Textkomponente. |
protected void |
setUserData(Item item)
Hier können noch weitere Benutzerabhängige Werte in die Oberfläche geschrieben werden. |
void |
setViewItemValidator(ViewItemValidator v)
Setzt den ItemValidator fuer diese View. |
void |
validateView(Item item,
MessageList messageList)
Ueberprueft die Eingaben in der Oberflaeche mit Hilfe des uebergebenen Items. |
void |
validateView(MessageList messageList)
Ueberprueft die Eingaben in der Oberflaeche. |
Methods inherited from class javax.swing.JPanel |
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI |
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 |
Field Detail |
protected FPanel printComponent
protected Item item
protected int mode
protected MessageList ml
getData(de.jsystems.framework.common.Item)
.
protected ViewItemValidator validator
Constructor Detail |
public BusinessView(Class itemClass) throws ItemInstantiateException
initGuiElements()
initGuiElementNames()
initGui()
labelView()
markMussfelder()
itemClass
- Der Typ des Items dessen Felder mit der Oberflaeche verbunden werden.
ItemInstantiateException
- wenn die übergebene Klasse nicht instanziiert werden konnte.public BusinessView()
initGuiElements()
initGuiElementNames()
initGui()
labelView()
Method Detail |
protected abstract void initGuiElements()
protected abstract void initGuiElementNames()
setData(Item)
oder setData(DynamicItem)
automatisch gefüllt werden sollen.
Falls die Oberfläche auch ComboBoxen
oder Listen
enthält, die
automatisch mit ihren Models verbunden werden sollen, so kann hier auch
in den entsprechenden Controls der Klassenname für die Models gesetzt werden.
Muss in abgeleiteten Klassen überschrieben werden.
protected abstract void initGui()
protected void labelView()
protected void bindModels()
ComboBoxen
und Listen
mit ihren
Models fuer die anzuzeigenden Daten, sofern in den Controls eine Klasse
für das Model gesetzt wurde. Diese Models werden hier via Reflection erzeugt.
Voraussetzung hierzu ist, das die Klassen vorhanden sind und einen parameterlosen
Konstruktor haben.
Falls beim Erzeugen oder Setzen der Models ein Fehler auftritt, so wird hier
keine Exception ausgelöst, sondern lediglich ein Eintrag in der MessageList
der View vorgenommen. Das entsprechende Control hat dann natürlich keinen
Inhalt.
protected void markMussfelder()
Object
Item
TableItem
TreeItem
MarkMussFelderException
ausgeloest.
MarkMussFelderException
- wenn ein Fehler beim Auslesen der Itemfelder auftritt.public MessageList getMessageList()
public abstract String getViewName()
public boolean isResizable()
true
zurück.
Falls ein anderes Verhalten gewünscht ist muss die Methode überschrieben werden.
public String getTitel()
"Titel für die View muss gesetzt werden"
erscheint.
public boolean isModal()
public Dimension getSize()
public void getData(Item item) throws GetItemMethodNotAllowedException, ItemInvokeException
JToggleButton
(auch JCheckBox
, JRadioButton
)
JComboBox
JPasswordField
JTextComponent
(auch JEditorPane
, JTextArea
, JTextField
)
JList
JLabel
Im Anschluss an diese Methode wird die Methode getUserData(Item)
aufgerufen. Hier koennen nun Werte aud der Oberflaeche im Item gespeichert
werden, die sich aus welchem Grund auch immer nicht automatisch uebernehmen
lassen.
item
- Das zu füllende Item.
GetItemMethodNotAllowedException
- wenn ein Fehler Auftritt beim holen der set-Methoden des Items.
ItemInvokeException
- wenn beim Aufruf einer Methode ein Fehler aufgetreten ist.public void getData(DynamicItem item) throws WrongValueTypeException
JToggleButton
(auch JCheckBox
, JRadioButton
)
JComboBox
JPasswordField
JTextComponent
(auch JEditorPane
, JTextArea
, JTextField
)
JList
JLabel
Wenn das Attribut im DynamicItem ein Typ der Wrapperklassen(Byte, Short,
Integer,...) ist, wird automatisch versucht zu casten. Tritt dabei ein
Fehler auf, so wird dieser in der MessageList der View geloggt.
Eine WrongValueTypeException
wird ausgeloesst, wenn beim setzen des
Wertes im DynamicItem der Typ nicht uebereinstimmt.
Die MessageList wird bei Aufruf dieser Methode geloescht!!. Nach dem Aufruf
befinden sich nur die Fehlereintraege aus dieser Methode in der MessageList,
sofern beim lesen der Daten Fehler aufgetreten sind.
Im Anschluss an diese Methode wird die Methode getUserData(Item)
aufgerufen. Hier koennen nun Werte aus der Oberflaeche im Item gespeichert
werden, die sich aus welchem Grund auch immer nicht automatisch uebernehmen
lassen.
item
- Das zu füllende Item.
WrongValueTypeException
- Wenn sich die Eingabe der Oberflaeche nicht
in den Typ des zugehoerigen Attributess
umwandeln laest.getMessageList()
protected Object castDynamicItemAttribut(DynamicItem item, Object value, String attributeName)
value
unverändert zurückgegeben.
item
- Das Item dessen Attribut gesetzt werden soll.value
- Der zu castende Wert.attributeName
- Der Name des Attributes dessen Wert gesetzt werden soll.
protected void getUserData(Item item)
getData(Item)
getData(DynamicItem)
item
- Das Item, das aus der Oberflaeche gefuellt werden soll.public void setData(Item item) throws GetItemMethodNotAllowedException, ItemInvokeException
JToggleButton
(auch JCheckBox
, JRadioButton
)
JComboBox
JPasswordField
JTextComponent
(auch JEditorPane
, JTextArea
, JTextField
)
JList
JLabel
Subklassen der oben angegebenen Klassen werden automatisch unterstützt.
Im Anschluss an diese Methode wird die Methode setUserData(Item)
aufgerufen.
item
- Das Item dessen Werte in die Oberflaeche geschrieben werden sollen.
GetItemMethodNotAllowedException
- wenn beim auslesen der Methoden im Item ein Fehler auftritt.
ItemInvokeException
- Wenn beim aufruf einer get-Methode im Item ein Fehler auftritt.#setCompData(JComponent, Object)
public void setData(DynamicItem item)
JToggleButton
(auch JCheckBox
, JRadioButton
)
JComboBox
JPasswordField
JTextComponent
(auch JEditorPane
, JTextArea
, JTextField
)
JList
JLabel
Subklassen der oben angegebenen Klassen werden automatisch unterstützt.
Im Anschluss an diese Methode wird die Methode setUserData(Item)
aufgerufen.
item
- Das Item dessen Werte mit der Oberflaeche verbunden werden sollen.protected void setUserData(Item item)
setData(Item)
setData(DynamicItem)
item
- Das Item dessen Werte in der Oberflaeche angezeigt werden sollen.public void clearData()
JToggleButton
(auch JCheckBox
, JRadioButton
)
JComboBox
JPasswordField
JTextComponent
(auch JEditorPane
, JTextArea
, JTextField
)
JList
JLabel
public void setMode(int mode)
EDITMODE
SHOWMODE
JToggleButton
(auch JCheckBox
, JRadioButton
)
JComboBox
JPasswordField
JTextComponent
(auch JEditorPane
, JTextArea
, JTextField
)
JList
JLabel
mode
- Der Modus fuer diese View.public int getMode()
protected void initPrintComponent()
printComponent = this;
printComponent.addText("foo");
getPrintComponent()
public final FPanel getPrintComponent()
PrintComponent
.
Hier wird aber ein JPanel zurückgegeben. Damit Methoden der PrintComponent
benutzt werden können, muss erst ein Cast statfinden.
Kann in abgeleiteten Klassen nicht überschrieben werden.
public void setViewItemValidator(ViewItemValidator v)
validateView(Item, MessageList)
bzw.
validateView(MessageList)
die Eingabe in der Oberflaeche geprueft
werden. Bei dieser Pruefung wird noch nichts in der fachlichen Welt gespeichert.
v
- Der ViewItemValidator zum pruefen der Eingaben.validateView(Item, MessageList)
,
validateView(MessageList)
public void validateView(MessageList messageList) throws ValidateNotSupportedException, ValidateException
getData(Item)
bzw.
getData(DynamicItem)
aufgerufen werden, da erst diese die Eingaben
in das Item uebernehmen.
messageList
- Die MessageList in der alle aufgetretenen Validierungsfehler
eingetragen werden sollen.
ValidateNotSupportedException
- Wenn kein Validator in der View gesetzt ist.
ValidateException
- Wenn beim kopieren des Items ein Fehler auftritt.public void validateView(Item item, MessageList messageList) throws ValidateNotSupportedException, ValidateException
setViewItemValidator(ViewItemValidator)
gesetzte Validator entsprechend
implementiert sein. Hier wird im Validator die Methode
ViewItemValidator.validate(BusinessView, MessageList)
aufgerufen, in der die fachliche Pruefung stattfinden kann. Die Pruefung
findet nicht direkt mit dem uebergebenen Item statt, sondern mit einer Kopie
des Items.ValidateNotSupportedException
ausgeloest.ValidateException
ausgeloest.IllegalArgumentException
ausgeloest wird.
item
- Das Item mit dem die Eingaben in der Oberflaeche geprueft werden
sollen.messageList
- Die MessageList in der alle aufgetretenen Validierungsfehler
eingetragen werden sollen.
ValidateNotSupportedException
- Wenn kein Validator in der View gesetzt ist.
ValidateException
- Wenn beim kopieren des Items oder bei der Validierung
an sich ein Fehler auftritt.public JComponent[] getKomponenten(JComponent c)
JComponent
sind.
c
- Die Komponente deren enthaltenen Komponenten geholt werden sollen.
public JComponent getKomponente(String name)
NULL
zurückgegeben.
name
- Der Name der gesuchten Komponente.
NULL
.public void enableComponent(String name)
name
- Der Name der Komponente.public void disableComponent(String name)
name
- Der Name der Komponente.public void clearComponent(String name)
JToggleButton
(auch JCheckBox
, JRadioButton
)
JComboBox
JPasswordField
JTextComponent
(auch JEditorPane
, JTextArea
, JTextField
)
JList
JLabel
name
- Der Name der zu loeschenden Komponenten.public void setTextData(String name, String text)
JTextComponent
(auch JEditorPane
,
JTextArea
,
JTextField
)
sein. Abgeleitete Typen werden automatisch unterstützt. Falls die Komponente
von einem anderen Typ ist passiert nichts.
Als Name muss hier der gleiche Name uebergeben werden mit dem auch ein Item
mit dem Control verbunden ist.
name
- Der Name der Komponente.text
- Der Text, der in der Komponente angezeigt werden soll.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |