expertenaustausch > comp.lang.* > comp.lang.java

Christian H. Kuhn (03.01.2019, 03:40)
Liebe Gemeinde,

MVC-Muster. Der Controller erzeugt eine Instanz des Modells, die er dann
kennt. Das klappt.

Der View wird durch eine JavaFX-Application dargestellt. Der Controller
erstellt das Objekt gui, übergibt ein paar Daten, z.B. das Modell, und
will die Applikation dann starten.

Die regulären Startmöglichkeiten sind statisch. Durch
Application.launch() oder main() wird das vorgefertigte Objekt ignoriert.

Ein Application-Object hat eine start()-Methode. Die soll auf dem JavaFX
Application Thread ausgeführt werden. Also Platform.runLater, und dort
gui.start(). Toolkit not initialized.

Google gibt als Würgaround das Starten eines sonst nicht benutzten
JFXPanels, das dann die JavaFX runtime hochfährt, die dann zur Verfügung
steht. Hässlich. Ganz hässlich. Gibt es keine saubere Lösung?

TIA
QNo
Christian H. Kuhn (03.01.2019, 14:43)
Am 03.01.2019 um 02:40 schrieb Christian "Ingrid" Kuhn:
> [JavaFX starten und Objekte kennen]


Ich habe gefunden.
Die starten mit einem eigenen Start-Objekt, das von Application erbt und
bei launch() JavaFX startet, dabei eine Stage bekommt und die speichert
und dann alle nötigen Objekte erzeugt. Scheint der Ansatz zu sein, den
ich brauche.

lg
QNo
Brix (13.01.2019, 14:07)
In article <g957fnFkaraU1>, qno-news says...
> Der View wird durch eine JavaFX-Application dargestellt. Der Controller
> erstellt das Objekt gui, übergibt ein paar Daten, z.B. das Modell, und
> will die Applikation dann starten.


Ich bin mir nicht sicher, aber es klingt irgendwie schräg, dass ein
einzelner View durch eine komplette Application dargestellt werden soll.

Also entweder du hast ne JFX-Application, die diverse Controller und
Views hat, dann ist dein Application.launch/start aber der Entry-POint
der gesamten Software, oder aber du hast ne Application (z.B. ne Swing-
Application), die mit JFX-Panels JXF-Inhalte einblendet.

Lies dir doch mal das hier durch, vielleicht hilft dir das:


Gruß,
-Wanja-
Christian H. Kuhn (13.01.2019, 21:47)
Am 13.01.2019 um 13:07 schrieb Brix:
> In article <g957fnFkaraU1>, qno-news says...
>> Der View wird durch eine JavaFX-Application dargestellt. Der Controller
>> erstellt das Objekt gui, übergibt ein paar Daten, z.B. das Modell, und
>> will die Applikation dann starten.

> Ich bin mir nicht sicher, aber es klingt irgendwie schräg, dass ein
> einzelner View durch eine komplette Application dargestellt werden soll.


Inzwischen habe ich das auch geändert. Ich hatte in allen bisherigen
Beispielen vorgeführt bekommen, dass die Application die
GUI-Bestandteile enthält. Das ist aber gar nicht nötig. Inzwischen
benutze ich eine Starterklasse (das ist dann die Application), und die
startet außer dem JavaFX-Framework auch die MVC-Bestandteile.

> Lies dir doch mal das hier durch, vielleicht hilft dir das:
>


Werde ich, vielen Dank.

mfg
QNo
Ähnliche Themen