|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectde.guibuilder.framework.GuiMember
de.guibuilder.framework.GuiContainer
E - public abstract class GuiContainer
Diese Klasse ist von allen Komponenten zu erweitern, die als Container für Daten haltende Komponenten fungieren sollen: Panel, Group, Tab, Split.
Zusammen mit GuiMember und GuiElement bildet diese Klasse ein Compositum-Pattern.
Die Hauptfenster (Form, Dialog, Applet, InternalFrame) haben alle eine
Referenz auf ein Objekt der Klasse GuiRootPane.
GuiRootPane hat genau ein WurzelPanel, dem alle weiteren Komponenten zugeordnet sind.
Typischer Code:
GuiPanel root = myForm.getRootPane().getMainPanel();
Die Container halten zwei Mengen von Komponenten, die durch die Methode
addMember bzw. addAction aufgebaut werden. Daher müssen die Namen der
Komponenten je Container eindeutig sein.
Zusätzlich wird eine ArrayList mit den Namen der Komponenten in der
Reihenfolge geführt, in der sie dem Container hinzugefügt wurden
(siehe getMemberNames).
Wichtig zum Verständnis ist, daß ein Container zwei Rollen einnehmen kann:
1. Layout-Container
2. Parent-Container
Welche Rolle ein Container einnimmt liefert die Methode isParentContainer.
Layout-Container dienen nur der Gliederung im (GridBag)Layout;
sie haben keine Members!
Parent-Container haben neben ihrer Layout-Funktion zusätzlich eine Liste von
Members.
Die Schachtelung der Parent-Container wird von der Factory nach folgenden Regeln aufgebaut:
Mit den Methoden "getValue" und "setValue" kann der Inhalt einer Komponente
gelesen oder gesetzt werden.
Der Name der Komponente kann hierbei in Punkt-Notation erfolgen, bei der
die Schachtelung der Container abgebildet wird:
strasse = frm.getValue("tabAdresse.panelRechnung.strasse");
Die Komponenten selbst implementieren die Methoden "getValue" und "setValue" um auf ihren Inhalt zuzugreifen.
Mit der Methode reset() wird der Wert aller Daten haltenden Widgets des Containers zurückgesetzt; dies gilt auch für seine Child Container.
Per default ist den Container das GridBagLayout zugeordnet. Mit dem Attribut layout= kann auch ein anderer LayoutManager gesetzt werden.
GuiMember,
GuiElement,
GuiPanel,
GuiRootPane.getMainPanel()| Field Summary | |
|---|---|
static int |
BORDER
BorderLayout |
static int |
FLOW
FlowLayout |
static int |
FORM
FormLayout; see http://jgoodies.com |
static int |
GRID
GridLayout |
static int |
GRIDBAG
GridBagLayout |
static int |
NULL
Null Layout |
static int |
SPLIT
|
static int |
SPRING
SpringLayout (Swing) |
static int |
TABLE
TableLayout |
| Fields inherited from class de.guibuilder.framework.GuiMember |
|---|
GUI_ACTION, GUI_COMPONENT, GUI_CONTAINER, GUI_TABLE, GUI_TREE, GUI_TYPE_NAMES, OID |
| Method Summary | |
|---|---|
void |
add(java.awt.Component comp)
From awt.Container |
void |
add(java.awt.Component comp,
java.awt.GridBagConstraints constraints)
Wird von der Factory aufgerufen, wenn die Komponente in einer ScrollBox steckt (wie z.B. bei Table, Tree, Memo, List). |
void |
add(GuiMember member,
java.awt.GridBagConstraints constraints)
Wird von GuiSplit überschrieben. |
void |
add(GuiMember member,
java.lang.String constraints)
Z.B. für Border-Layout |
void |
addAction(GuiAction comp)
Fügt eine anklickbare Komponente hinzu (MenuItem, Tool, Button). |
void |
addMember(GuiMember comp)
Fügt dem Container eine neue Daten haltende Komponente hinzu. |
void |
addToolbar(GuiToolbar tb)
|
void |
commitChanges()
Teilt der Komponente mit, dass die Benutzereingaben erfolgreich (vom Persistenz-Layer) verarbeitet wurden. |
void |
doAction(java.lang.String name)
Führt die Aktion mit dem angegebenen Namen aus. |
void |
enableAllActions(boolean b)
En- oder disabled alle Menüitems und Buttons |
GuiAction |
getAction(java.lang.String name)
Liefert eine Aktion unter dem angegebenen Namen. |
java.util.LinkedHashMap<java.lang.String,java.lang.Object> |
getAllModifiedValues()
Liefert eine HashMap mit den Namen und den Inhalten aller Komponenten, die vom Benutzer modifiziert wurden. |
java.util.LinkedHashMap<java.lang.String,java.lang.Object> |
getAllValues()
Liefert eine HashMap mit den Namen und den Inhalten aller Komponenten. |
java.util.LinkedHashMap<java.lang.String,java.lang.Object> |
getAllValues(boolean modified)
Liefert die Werte des Containers und seiner Kinder. |
electric.xml.Document |
getAllValuesXml()
Liefert den Inhalt dieses Containers als XML-Dokument. |
GuiButtonBar |
getButtonBarFromComponents()
Liefert den ButtonBar oder null, wenn keiner vorhanden. |
java.lang.String |
getColSpec()
|
GuiContainer |
getContainer(java.lang.String name)
Liefert einen ChildContainer unter Angabe seines Namens (auch mit Punkt-Notation). |
GuiContainer |
getContainer(java.lang.String tag,
int index)
Liefert die GuiChildContainer des per XML-Tag angegebenen Typ an der angegebenen Position zurück. |
JDataSet |
getDatasetValues()
|
void |
getDatasetValues(JDataSet ds)
Füllt das angegebene JDataSet mit den Inhalten der Komponente (Oberfläche). |
java.util.ArrayList<GuiElement> |
getEnabledComponents()
Liefert eine ArrayList von GuiElements die enabled sind. |
GuiComponent |
getFirstComponent()
Liefert das erste Objekt der Klasse GuiComponent oder null, wenn keines vorhanden. |
GuiComponent |
getGuiComponent(java.lang.String name)
Liefert eine Komponente unter dem angegebenen Namen. |
GuiComponent |
getGuiComponentsFromComponents(java.lang.String name)
Ermittelt eine GuiComponente aus dem Components-Array, da dort auch Labels enthalten sind. |
GuiContainer |
getGuiContainerFromComponents(java.lang.String name)
|
GuiMember |
getGuiMemberFromComponents(java.lang.String tag,
int index)
Ermittelt GuiMember mit dem angegebenen Tag aus dem Components-Array: |
GuiTable |
getGuiTable(java.lang.String name)
Liefert eine Tabelle unter Angabe ihres Namens. |
GuiTabset |
getGuiTabsetFromComponents(int index)
|
GuiTabset |
getGuiTabsetFromComponents(java.lang.String name)
Ermittelt GuiTabsets aus dem Components-Array. |
GuiTree |
getGuiTree(java.lang.String name)
Liefert einen Baum unter Angabe seines Namens (auch mit Punkt-Notation). |
int |
getGuiType()
Liefert GUI_CONTAINER |
abstract int |
getLayoutManager()
|
static java.lang.String |
getLayoutManagerName(int i)
Liefert die Bezeichnung des Layout-Managers. |
GuiMember |
getMember(java.lang.String name)
Liefert einen Member unter dem angegebenen Namen. |
electric.xml.Element |
getMemberElement()
Liefert ein Element |
java.util.LinkedHashMap<java.lang.String,GuiMember> |
getMembers()
Liefert die LinkedHashMap mit allen Komponenten dieses Panel. |
GuiOutlookBar |
getOutlookBarFromComponents()
Liefert den OutlookBar oder null, wenn keiner vorhanden. |
void |
getPreferences(JDataSet ds)
Hier leer implementiert |
java.lang.String |
getRowSpec()
|
java.util.Vector<GuiComponent> |
getSearchables(java.util.Vector<GuiComponent> ret)
Liefert alle Komponenten, die in der Oberfläche als Suchfelder gekennzeichnet sind (search="y"), und die vom Anwender auch ausgefüllt wurden. |
java.lang.Object |
getValue(java.lang.String name)
Liefert den Wert eine Komponente unter Angabe ihres Namens (auch mit Punkt-Notation). |
boolean |
isModified()
Liefert true, wenn eine der Componenten dieses Container die Eigenschaft "modified" hat. |
boolean |
isParentContainer()
Liefert "true" wenn dieses Panel zur Schachtelung der Componenten verwendet wird bzw. |
boolean |
removeMember(GuiMember member)
Entfernt eine Komponente aus dem Container. |
void |
reset()
Setzt den Feldinhalt aller Komponenten dieses Panels zurück (auf leer). |
void |
setAllValues(java.util.HashMap<java.lang.String,java.lang.Object> hash)
Es wird eine HashMap übergeben, die die Namen von Komponenten und deren zu setzenden Inhalt enthält. |
void |
setAllValuesXml(electric.xml.Document doc)
Setzt den Inhalt dieses Container mit einem XmlDocument. |
void |
setAllValuesXml(electric.xml.Element node)
Setzt den Inhalte der Komponenten dieses Panel mit den Werten des übergebenen XML-Knotens. |
void |
setDatasetValues(JDataSet ds)
Füllt die Komponente (Oberfläche) mit den Daten aus dem angegebenen JDataSet. |
void |
setEnabled(java.util.ArrayList<GuiElement> comps,
boolean b)
Aktiviert oder deaktiviert die übergebene Menge von GuiElements. |
void |
setEnabled(java.util.HashSet<java.lang.String> comps,
boolean b)
Aktiviert oder deaktiviert die übergebene Menge von Members (GuiElement). |
void |
setFieldValues(java.lang.Object obj)
Setzt mehrere Komponenten dieses Panels auf den Werte der (public) Attribute des übergebenen Objects. |
abstract void |
setLayoutManager(int lm)
|
void |
setPreferences(JDataSet ds)
Hier leer implementiert |
void |
setStateAttributes(java.lang.String state)
Überschrieben von GuiMember; setzt auch den Status aller Kind-Elemente dieses Containers. |
void |
setValue(java.lang.String name,
java.lang.Object value)
Setzt den Wert eine Komponente unter Angabe ihres Namens (auch mit Punkt-Notation). |
void |
updateIfNull(electric.xml.Element node)
Deprecated. Es werden nur die Felder upgedated, wenn sie leer sind. |
void |
verify()
Ruft den InputVerifier der Componenten von diesem Container auf. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface de.guibuilder.framework.IDatasetMember |
|---|
getElementName, getElementPath, isRootElement, setElementName |
| Field Detail |
|---|
public static final int NULL
public static final int GRIDBAG
public static final int GRID
public static final int FLOW
public static final int BORDER
public static final int SPRING
public static final int FORM
public static final int SPLIT
GuiSplit,
Constant Field Valuespublic static final int TABLE
| Method Detail |
|---|
public static java.lang.String getLayoutManagerName(int i)
public int getGuiType()
getGuiType in class GuiMemberpublic abstract int getLayoutManager()
NULLpublic abstract void setLayoutManager(int lm)
NULLpublic final void add(java.awt.Component comp)
GuiPanel.setDesktop(de.guibuilder.framework.GuiDesktop)
public void add(java.awt.Component comp,
java.awt.GridBagConstraints constraints)
From awt.Container
public void add(GuiMember member,
java.awt.GridBagConstraints constraints)
public void add(GuiMember member,
java.lang.String constraints)
member - constraints - public void addToolbar(GuiToolbar tb)
public final void addMember(GuiMember comp)
Diese Methode unterscheidet zwischen der Spezifikations- und der
Laufzeit-Umgebung GuiUtil.isAPI().
Wenn Laufzeitumgebung gesetzt ist, dürfen die Namen der Komponente
nicht leer sein und es dürfen auch keine doppelten Namen vergeben werden.
java.lang.IllegalArgumentException - wenn Name leer oder doppelt.public final boolean removeMember(GuiMember member)
Wird auch beim Umbenennen von Members eingesetzt.
GuiMember.setName(java.lang.String)public final GuiMember getMember(java.lang.String name)
getAction(String),
getContainer(String),
getGuiComponent(String)public final GuiComponent getGuiComponent(java.lang.String name)
getAction(String),
getContainer(String)public final GuiTable getGuiTable(java.lang.String name)
Wirft eine IllegalArgumentException, wenn Member nicht GuiTable.
public final GuiContainer getContainer(java.lang.String name)
getAction(String),
getGuiComponent(String)
public GuiContainer getContainer(java.lang.String tag,
int index)
tag - XML-Tag des ChildContainers, der zrück gegeben werden sollindex - Index des ChildContainers, der zurück gegeben werden soll
public GuiComponent getGuiComponentsFromComponents(java.lang.String name)
name -
public final GuiContainer getGuiContainerFromComponents(java.lang.String name)
public final GuiTabset getGuiTabsetFromComponents(java.lang.String name)
name, - wenn name leer, dann wird das erste zurück gegeben
getGuiComponentsFromComponents(String),
nicht zugegriffen werden kann.public final GuiTabset getGuiTabsetFromComponents(int index)
public final GuiMember getGuiMemberFromComponents(java.lang.String tag,
int index)
tag - XML-Tag der Komponente, die zurück gegeben werden soll
getContainer(String, int)public GuiOutlookBar getOutlookBarFromComponents()
GuiWindow.getOutlookBar(),
Der ButtonBar wird über eine eigene Methode, die analog
implementiert ist, geliefert.public GuiButtonBar getButtonBarFromComponents()
GuiWindow.getOutlookBar(),
Der Outlookbar wird über eine eigene Methode, die analog implementiert ist,
geliefert.public final GuiTree getGuiTree(java.lang.String name)
public final java.util.LinkedHashMap<java.lang.String,GuiMember> getMembers()
Die HashMap kann Komponenten halten, die vom Typ GuiComponent, GuiTable oder GuiPanel sind.
public final electric.xml.Element getMemberElement()
GuiMember
getMemberElement in class GuiMemberpublic boolean isModified()
GuiComponent.isModified()public GuiComponent getFirstComponent()
Nach einem reset() erhält dieses Widget den Focus.
public final void addAction(GuiAction comp)
getAction(java.lang.String)public final GuiAction getAction(java.lang.String name)
getGuiComponent(String),
getAction(String)public final void doAction(java.lang.String name)
name - public final void enableAllActions(boolean b)
public java.util.ArrayList<GuiElement> getEnabledComponents()
public final void setEnabled(java.util.ArrayList<GuiElement> comps,
boolean b)
comps - Eine ArrayList von GuiElements.b - Enable oder disable
public final void setEnabled(java.util.HashSet<java.lang.String> comps,
boolean b)
comps - Ein HashSet von GuiElements oder null, wenn alle.b - Enable oder disablepublic final java.util.Vector<GuiComponent> getSearchables(java.util.Vector<GuiComponent> ret)
Der Vector enthält nur Komponenten, die bei denen isSearch() true ergibt.
ret - Ein Vector, an den die Einträge angehängt werden oder null.
GuiComponent.isSearch()
public final void verify()
throws java.lang.IllegalStateException
verify in class GuiMemberIllegalStateException, - wenn Eingaben unzulässig.
java.lang.IllegalStateExceptionGuiInputVerifierpublic void reset()
Wird von GuiTab überschrieben; daher nicht final.
reset in class GuiMemberGuiMember.reset()public final java.lang.Object getValue(java.lang.String name)
Der Rüchgabewert ist zumeist vom Typ "String"; bei Tabellen ein Vector von Vectoren, bei CheckBoxen ein "Boolean".
componentName - Name der Komponente
public final void setValue(java.lang.String name,
java.lang.Object value)
name - Name der Komponentevalue - In der Regel kann ein String verwendet werden; Tabellen
erwarten einen Vector von Vectoren.public final java.util.LinkedHashMap<java.lang.String,java.lang.Object> getAllModifiedValues()
setAllValues(java.util.HashMap) ,
GuiComponent.isModified()public final java.util.LinkedHashMap<java.lang.String,java.lang.Object> getAllValues()
setAllValues(java.util.HashMap) public final java.util.LinkedHashMap<java.lang.String,java.lang.Object> getAllValues(boolean modified)
modified - Wenn "true", werden nur die geänderten Komponenten geliefert;
ansonsten alle.public final void setAllValues(java.util.HashMap<java.lang.String,java.lang.Object> hash)
getAllValues()public final void setFieldValues(java.lang.Object obj)
obj - Ein Object dessen Attributnamen mit den Namen der
Komponenten übereinstimmen.public final electric.xml.Document getAllValuesXml()
public final void setAllValuesXml(electric.xml.Document doc)
Das XML-Dokument muß "guivalues.dtd" entsprechen.
public final void setAllValuesXml(electric.xml.Element node)
java.lang.IllegalArgumentException - wenn ElementName != "Panel"public final void updateIfNull(electric.xml.Element node)
public final void setDatasetValues(JDataSet ds)
IDatasetComponent
setDatasetValues in interface IDatasetComponentpublic final JDataSet getDatasetValues()
public final void getDatasetValues(JDataSet ds)
IDatasetComponent
getDatasetValues in interface IDatasetComponentpublic final void commitChanges()
IDatasetComponentZumeist wird die Eigenschaft "modified" nur auf "false" gesetzt.
commitChanges in interface IDatasetComponentpublic final boolean isParentContainer()
Achtung!
Diese Methode liefert immer dann true, wenn dem Container ein Member
zugewiesen wurde.
Sie liefert false, wenn addMember nie aufgerufen wurde.
Dieses ist folglich auch bei neuen Panels der Fall, denen
später noch Members zugewiesen werden sollen!
addMember(de.guibuilder.framework.GuiMember)public java.lang.String getColSpec()
public java.lang.String getRowSpec()
public void setStateAttributes(java.lang.String state)
setStateAttributes in class GuiMemberGuiMember.setStateAttributes(String)public void getPreferences(JDataSet ds)
GuiMember
getPreferences in class GuiMemberpublic void setPreferences(JDataSet ds)
GuiMember
setPreferences in class GuiMember
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||