....
Eine von Application abgeleitete Klasse stellt den Startpunkt des Programms bereit. Die abgeleitete Klasse muss die Methode start definieren, deren Parameter die Verbindung zur grafischen Oberfläche herstellt.
In der einzigen Instanz von Application werden das Applikationsmodell und die View bereitgestellt. Die View wird in eine Scene eingebettet und in die stage eingefügt.
package main; import javafx.application.Application; import javafx.scene.Scene; import javafx.stage.Stage; /** * Die Klasse * Die Eigenschaften der Darstellungselemente werden aus dem Datenmodell bezogen. * @author */ public class Program extends Application { private final ApplicationModel model; private final View view; public Program () { model = new ApplicationModel(); view = new View(model); } @Override public void start(Stage primaryStage) { Scene scene = new Scene(view); primaryStage.setTitle("Application"); primaryStage.setScene(scene); primaryStage.show(); } }
Die Ansicht wird von einem Darstellungselement abgeleitet, das seinerseits Darstellungselemente enthalten kann. In der Ansicht werden die für das Programm benötigten Anzeige- und Bedienelemente bereitgestellt und sichtbar gemacht.
Eine View kann von jeder der folgenden Klassen abgeleitet werden:
Eine View sollte einen ständigen Verweis auf ihr Modell haben. Die Eigenschaften der Komponenten einer View werden in der Regel mit Eigenschaften verbunden, die im Modell bereitgestellt werden.
package main; import javafx.scene.layout.GridPane; /** * * @author */ public class View extends GridPane { private final ApplicationModel model; public View(ApplicationModel m) { model = m; this.setupWindow(); } private setupWindow() { // Erzeugung der Darstellungselemente des Fensters. // Die Darstellungselemente werden in this eingefügt. } }
...
package main; /** * In der Klasse sind die Eigenschaften der Darstellungselemente der Ansicht * vereinbart. Die Klasse stellt Methoden für den Zugriff auf diese * Eigenschaften zur Verfügung. * @author */ public class ApplicationModel { public ApplicationModel() { } }
Einstiegspunkt des Programms ist eine Instanz einer von Application abgeleiteten Klasse.
Im Programm werden eine Instanz des Applikationsmodell und eine Instanz der Ansicht erzeugt.
Der Konstruktor der Ansicht übernimmt das Applikationsmodell als Aufrufparameter. Die Ansicht sollte das Applikationsmodell einer Instanzvariablen zuweisen.
Das Applikationsmodell stellt der Ansicht Eigenschaften zur Verfügung; es kann ausserdem weitere Daten für die Verwendung durch die Ansicht bereitstellen.
Der Konstruktor der Ansicht besorgt die Ausstattung des Fensters. Dabei werden Eigenschaften der Darstellungselemente des Fensters mit Eigenschaften verbunden, die vom Applikationsmodell bereitgestellt werden.