Fenster

Anfang  Zurück  Vor

Letzte Änderung 22.04.2014

 

Fenster anlegen

 

Neue Fenster können Sie über das Menü Datei oder direkt im Projektmanagement über das Kontextmenü anlegen. Es ist empfehlenswert, neue Fenster im dafür vorgesehenen Standard-Ordner Fenster anzulegen.

 

1.Wählen Sie im Menü Datei > Neu > Fenster.

2.Geben Sie im folgenden Dialog bei Name einen beliebigen Namen für Ihr Fenster an, z.B. Start.

clip0274

3.Legen Sie bei Ordner fest, wo das neue Fenster im Projektmanagement abgelegt werden soll und bestätigen Sie mit OK.

 

 

 

Fenster aufrufen

 

Mit der Anweisung XDEV.OpenWindow( ) , die in der Palette des Code-Editors als Code-Template vorliegt, lassen sich alle im Projektmanagement angelegte Fenster aufrufen. Sobald Sie die Anweisung in den Code-Editor einfügen, öffnet sich ein Assistent, mit dem Sie alle Optionen für den Fenster-Aufruf festlegen können. Auch Parameter lassen sich damit auf einfache Weise übergeben. Der Javacode für den Fensteraufruf wird anschließend vollständig vom Assistenten generiert. Um spätere Änderungen durchzuführen, müssen Sie die Anweisung XDEV.OpenWindow( ) mit gleichzeitig gedrückter Shift Taste anklicken.

 

1.Legen Sie im Projektmanagement zwei Fenster MainWindow und DetailWindow an.

2.Fügen Sie in das Fenster MainWindow einen XdevButton ein, mit dem das Fenster DetailWindow aufgerufen wird. Klicken Sie im Quick-Info Feld des XdevButtons auf Ereignisse > ActionPerformed um ein Mausklick-Ereignis zu registrieren.

3.Fügen Sie die Anweisung XDEV.OpenWindow( ) in den Code-Editor ein.

@EventHandlerDelegate void button_actionPerformed(ActionEvent event) 
{
   XDEV.OpenWindow();
}

4.Wenn Sie keine Parameter übergeben wollen, wählen Sie im folgenden Assistenten bei Fenster aufrufen > DetailWindow > DetailWindow( ) aus.

 

 

 

Parameter übergeben

 

4.Wählen Sie im folgenden Assistenten bei Fenster aufrufen > DetailWindow > DetailWindow(Eigene Parameter übergeben) aus.

clip0409

5.Klicken Sie bei Parameter auf Neu und geben Sie einen Parameter an den Sie übergeben möchten, z.B. eine Variable die im aktuellen Kontext gültig ist oder die Sie vor dem Fensteraufruf speziell definiert haben.

@EventHandlerDelegate void button_actionPerformed(ActionEvent event) 
{
   String kundennummer = "KuNu-12345";
   XDEV.OpenWindow();
}

 

clip0594

 

6.Klicken Sie abschließend auf OK.

 

Der Fensteraufruf-Assistent generiert nun im aufrufenden Fenster den Code für den Fensteraufruf.

 

String kundennummer = "KuNu-12345";
 
XDEV.OpenWindow(new OpenWindow(kundennummer)
{
   @Override
   public void init()
   {
      final String kundennummer = getArg(String.class);
      
      setXdevWindow(new DetailWindow(kundennummer));
      setContainerType(ContainerType.CURRENT_CONTAINER);
   }
});

 

 

 

Fenster-Typ festlegen

 

5.Wählen Sie bei Anzeigen in > Dialog aus und wählen Sie die erscheinende Option Modal an.

clip0596

 

Aktuellem Fenster - Öffnet das ausgewählte Fenster im aktuellen Programmfenster.

Frame - Öffnet das ausgewählte Fenster als neues Programmfenster (JFrame). Frames sind vom Hauptfenster völlig unabhängige Programmfenster, die sich auch aus dem Hauptfenster herausziehen sowie minimieren und maximieren lassen.

Dialog - Öffnet das ausgewählte Fenster als Dialogfenster (JDialog). Dialoge sind wie Frames vom Hauptfenster völlig unabhängige Programmfenster, die sich auch aus dem Hauptfenster herausziehen lassen. Anders als bei Frames fehlen in Dialogen die Steuer-Buttons für Minimieren und Maximieren. Dialoge können auch modal sein.

Modal - Modale Fenster behalten den Fokus solange sie aktiv sind. Alle anderen aktiven Fenster derselben Anwendung bleiben derweil für sämtliche Mausaktionen gesperrt. Dadurch wird u.a. ausgeschlossen, dass ein Dialog vielfach aufgerufen werden kann.

Owner - Hier kann ein Fenster oder eine Komponente angegeben werden, in welche das aufgerufene Fenster bzw. Dialog gezeichnet werden soll.

Screen - Öffnet das ausgewählte Fenster als völlig rahmenloses Fenster, das als Screen bezeichnet wird (JWindow). Screens werden i.d.R. in andere Komponenten gezeichnet. Screens können auch modal sein.

WindowContainer - Öffnet das ausgewählte Fenster in dem angegebenen WindowContainer.

 

 

 

Weitere Optionen

 

Fenster aufrufen - Hier wählen Sie das Fenster, bzw. den Konstruktor des Fensters auf, den Sie aufrufen möchten. Für Fenster-Aufrufe ohne Parameter-Übergabe wählen Sie den Standard-Konstruktor, z.B. DetailWindow( ). Falls Sie für ein Fenster bereits einen Aufruf definiert haben, bei dem Sie Parameter übergeben, erscheint hier ein zusätzlicher Konstruktor mit diesen Parametern.  

Position bestimmen - X- und Y-Koordinaten für den Punkt an dem das aufzurufende Fenster erscheinen soll.

 

 

 

Parameter im Zielfenster aufnehmen

 

Mit dem automatisch folgenden Assistent Fenster-Parameter generieren wird im Zielfenster der Code für die Aufnahme des Parameters generiert.

 

7.Ersetzen Sie im folgenden Assistenten Fenster-Parameter generieren den vorgeschlagenen Parameternamen param1 durch einen aussagekräftigen Namen den Sie im Zielfenster verwenden möchten, z.B. erneut kundennummer. Bestätigen Sie Ihre Eingabe mit der Eingabetaste.

clip0595

8.Klicken Sie abschließend auf OK.

 

Der Assistent generiert abschließend den Code für den Fensteraufruf im Zielfenster. Der übergebene Parameter kundennummer ist im gesamten Zielfenster gültig.

 

private String kundennummer;
 
public DetailWindow(String kundennummer)
{
   this.kundennummer = kundennummer;
}

 

 

 

Wichtigste Methoden

 

openInCurrentWindow(XdevWindow window)

 

Diese Methode öffnet das übergebene Fenster window im aktuellen Programmfenster.

window - Das XdevWindow, das angezeigt werden soll.

// Öffnet eine neue Instanz des Fensters "MyWindow" im aktuellen Programmfenster 
this.openInCurrentWindow(new MyWindow());

 

openInDialog

 

openInDialog(XdevWindow window, boolean modal) 

window - Das XdevWindow, das angezeigt werden soll.

boolean - Die boolsche Variable, die definiert, ob der Dialog modal geöffnet werden soll.

// Öffnet eine neue Instanz des Fensters "MyWindow" als modalen Dialog mit dem owner "this" 
this.openInDialog(new MyWindow(), true);

 

openInDialog(XdevWindow window, boolean modal, Component owner) 

window - Das XdevWindow, das angezeigt werden soll.

boolean - Die boolsche Variable, die definiert, ob der Dialog modal geöffnet werden soll.

owner - Die Komponente, welche als owner für den modalen Dialog dienen soll.

// Öffnet eine neue Instanz des Fensters "MyWindow" als modalen Dialog mit dem owner "mainWindow" 
this.openInDialog(new MyWindow(), true, mainWindow);

 

openInFrame(XdevWindow window)

 

Diese Methode öffnet das übergebene Fenster window in einem neuen XdevFrame.

window - Das XdevWindow, das angezeigt werden soll.

// Öffnet eine neue Instanz des Fensters "MyWindow" in einem XdevFrame 
this.openInFrame(new MyWindow());

 

openInScreen

 

Öffnet das übergebene XdevWindow als rahmenloses Fenster..

openInScreen(XdevWindow window, boolean modal) 

window - Das XdevWindow, das angezeigt werden soll.

boolean - Die boolsche Variable, die definiert, ob der XdevScreen modal geöffnet werden soll.

// Öffnet eine neue Instanz des Fensters "MyWindow" als modalen XdevScreen mit dem owner "this" 
this.openInScreen(new MyWindow(), true);

 

openInScreen(XdevWindow window, boolean modal, Component owner) 

window - Das XdevWindow, das angezeigt werden soll.

boolean - Die boolsche Variable, die definiert, ob der XdevScreen modal geöffnet werden soll.

owner - Die Komponente, welche als owner für den modalen XdevScreen dienen soll.

// Öffnet eine neue Instanz des Fensters "MyWindow" als modalen XdevScreen mit dem owner "mainWindow" 
this.openInDialog(new MyWindow(), true, mainWindow);

 

close()

 

Diese Methode schließt das aktuelle Fenster.

// Schließt das Fenster
this.close();

 

 

 

XdevWindow intern

 

In XDEV 5 ist ein Fenster (XdevWindow) zunächst einmal nur ein Container (JContentPane), in den Sie alle GUI-Komponenten einfügen können, die XDEV 5 zur Verfügung stellt. Zur Laufzeit wird das XdevWindow in einem XdevFrame aufgerufen, das von der Swing Klasse JFrame ableitet. Das XdevFrame stellt den Fensterrahmen inkl. Buttons zur Verfügung und zeigt das XdevWindow mit dessen Content an. Jedes XdevWindow lässt sich darüber hinaus auch als modalen oder nichtmodalen Dialog aufrufen, der von JDialog ableitet sowie als Screen, der von JWindow ableitet. Bei einem Screen handelt es sich um ein völlig rahmenloses Fenster.