|
24.02.2010
Fensteraufruf
Jedes im Projektmanagement angelegten Fenster kann mit der Anweisung XDEV CallWindow XDEV NLS: XDEV Fensteraufruf wahlweise als Programmfenster oder Dialog aufgerufen werden. Im Gegensatz zu Fenster lassen sich Dialoge miteinander verketten. Dadurch sind Sie in der Lage eigene Assistenten zu entwickeln, mit denen Sie die schrittweise Abarbeitung eines Vorgangs fest vorgeben können.

» Internal Frames «
Internal Frames lassen sich nur innerhalb eines DesktopPanes bewegen und somit nicht aus dem Programmfenster ziehen. Internal-Frames können mit nicht XDEV CallWindow XDEV NLS: XDEV Fensteraufruf angesteuert werden.
» Fenster «
Das Fenster ist örtlich vom Haupt-Programmfenster unabhängig und lässt sich auch aus diesem heraus ziehen. Anders als das Internal Frame braucht das Fenster keinen Grund-Container und wird nicht als Komponente in das Hauptfenster eingefügt, sondern über das Menü Datei, Neu im Projektmanagement im Register Fenster angelegt und mit Hilfe des Befehls XDEV CallWindow XDEV NLS: XDEV Fensteraufruf aufgerufen. Das Fenster besitzt einen Fensterrahmen, der sich optisch an das jeweiligen Betriebssystems anpasst.
» Dialoge «
Dialoge werden zunächst als Fenster angelegt, sogar als Fenster im Projektmanagement verwaltet und besitzen somit dieselben Eigenschaften wie Fenster. Der Unterschied zum Fenster besteht darin, dass der Dialog beim Aufruf nicht als Fenster, sondern als modaler bzw. nicht modaler Dialog aufgerufen wird. Auch Dialoge besitzen einen Fensterrahmen. Im Gegensatz zum Fenster lässt sich der Dialog jedoch nicht maximieren und minimieren.
Art
|
Erklärung
|
Modal
|
Modale Dialoge behalten den Fokus solange bis sie geschlossen werden. Die restliche Benutzeroberfläche bleibt währenddessen gesperrt. Modale Dialoge eigenen sich daher vorrangig für Programm-Meldungen und Assistenten, welche aus hintereinander geschalteten Dialogen bestehen.
|
Nicht-modal
|
Genauso wie Internal Frames geben nichtmodale Dialoge den Fokus wieder ab, sobald eine andere Komponente auf der Benutzeroberfläche angeklickt wird. In der Praxis werden nicht modale Dialoge häufig für die Realisierung von Assistenten und Toolboxen verwendet, auf die der Anwender zu jeder Zeit Zugriff haben soll.
|
Optionen im Assistenten:
Option
|
Erklärung
|
Im aktuellen Fenster /
Hauptfenster / Applet
öffnen
|
Stellt das ausgewählte Fenster im aktuellen Programmfenster, bzw. bei einem Applet im aktuellen Browser-Fenster dar.
|
In einem Anwendungs-Fenster
öffnen (Frame)
|
Stellt das ausgewählte Fenster in einem neuen, vom Hauptfenster völlig unabhängigen Programmfenster dar.
Option
|
Erklärung
|
Dialog-ID
|
Beim Aufruf eines neuen Fensters können Sie diesem eine Dialog-ID zuweisen, mit der das neue Fenster dann angesteuert werden kann, z.B. um es in den Vordergrund zu holen oder um es bei Bedarf zu schließen. Die Dialog-ID ist keine Ganzzahl wie bei IDs üblich, sondern eine Zeichenkette. Somit können Sie für die Dialog-ID einen beliebigen Begriff wählen, der wie ein Variablen-Name möglichst aussagekräftig sein sollte, z.B. eingabeMaske. Wenn Sie keine Dialog-ID vergeben, wird automatisch der Name des Fensters als Standardwert für die Dialog-ID gesetzt, z.B. Fenster1.
Vor allem wenn mehrere Fenster in einer bestimmten Reihenfolge nacheinander aufgerufen werden sollen, wie das bei Assistenten häufig der Fall ist, dann ist die Dialog-ID unerlässlich, um die entsprechenden Fenster gezielt ansteuern zu können.
Wenn mehrere Fenster in unvorhersehbarer Reihenfolge nacheinander aufgerufen werden können, dann müssen Sie die Dialog-ID dynamisch erzeugen, z.B. mit Hilfe einer Variable, deren Wert Sie bei jedem Fenster-Aufruf um 1 erhöhen.
Im neuen Fenster kann die Dialog-ID dann mit Hilfe der Fenster-Methode getDialogID( ) XDEV NLS: holeDialogID ( ) ermittelt werden.
1
|
String dialogID = aktuellesFenster.getDialogID();
|
|
1
|
String dialogID = aktuellesFenster.getDialogID()
|
|
1
|
Zeichenkette dialogID = aktuellesFenster\holeDialogID ( )
|
|
|
Übergeordneter
Dialog (ID)
|
Wenn Sie mehrere Dialog hintereinander schalten möchten, dann müssen Sie hier die Dialog-ID des vorhergehenden Fensters angeben.
|
|
In einem Anwendungs-Dialog
öffnen (Dialog)
|
Stellt das ausgewählte Fenster wahlweise in einem modalen oder nichtmodalen, vom Hauptfenster völlig unabhängigen Anwendungs-Dialog dar.
(Optionen Dialog-ID und Übergeordneter Dialog (ID) siehe oben.)
|
In einem rahmenlosen
Fenster öffnen
(Window)
|
Stellt das ausgewählte Fenster in einem wahlweise modalen oder nichtmodalen, programminternen Fenster ohne Rahmen (Window) dar.
|
In einem WindowContainer öffnen
|
Stellt das ausgewählte Fenster in einem WindowContainer dar, der sich im aktuellen Fenster befinden muss. Der WindowContainer muss per Mausklick selektiert werden, da sich mehrere WindowContainer in einem Fenster befinden können. Mit Hilfe von WindowContainer lassen sich Oberflächen modular aufbauen und Seitenelemente flexibel miteinander kombineieren.
|
Parameter
|
Beim Aufruf eines neuen Fensters oder Dialogs können Sie diesem auch Daten übergeben, z.B. eine Datensatz-ID. Als Parameter können Sie feste Werte, Variablen, Konstanten, Methoden-Aufrufe sowie Objekte angeben. Mit Hilfe einer Liste oder Hashtable als Parameter können Sie auch mehrere Werte gleichzeitig als Parameter übergeben. Mit der Übergabe entsprechender Parameter können Sie den Einsatz globaler Variablen vermeiden.
Im neuen Fenster können Sie den Übergabewert mit Hilfe der Fenster-Methode getParameter( ) XDEV NLS: holeParameter ( ) wieder auslesen.
|
Basiswissen: Variablen.
|