JavaFX JavaFX in mehrere Controller

Diskutiere JavaFX in mehrere Controller im AWT, Swing, JavaFX & SWT Bereich.
mrBrown

mrBrown

zu 1: Ich teste ja das ganze User-Interface. Wenn alles in Ordnung ist kann ich beliebige weitere Masken erstellen, die sind dann auch fehlerfrei. Anschliessend kann ich mich voll auf Applikation konsentrieren, denn hier ist meine wirkliche Herausforderung.
Wie testest du das mit automatisierten Unit-Tests?

zu 2: das sehe ich absolut nicht so wie du.
Einfaches Beispiel: die Änderung einer ID in einer FXML oder einfach nur den Typ von Label zu TextField ändern kann jeder andere Klasse in der Applikation betreffen, da jede Klasse die ID und deren Typen kennen muss. Siehe auch den nächsten Punkt.

Warum meinst du, das ist nicht so?

zu 3: gerade das ist ja erwünscht. Die Komponenten in einer Instanz kennen sich gegenseitig, aber die Komponenten in anderen Instanzen nicht. Das habe ich ja auch wenn ich alles in einer FXML habe.
Eigentlich hat sich schon vor Jahrzehnten herausgestellt, dass genau sowas absolut unerwünscht ist.

Relevant ist auch erstmal eher, welche Klassen sich gegenseitig kennen. Allgemein ist da das Zeil, das möglich wenig Abhängigkeiten zwischen den einzelnen Klassen bestehen, im Idealfall sogar keinerlei direkt zwischen Klassen sondern nur über Interfaces.
Das was du hast ist ja das genaue Gegenteil davon – jede Klasse muss jede andere kennen, und das nicht mal mit der Möglichkeit für den Compiler, dass zu überprüfen, sondern nur über Strings.


Wenn ich die Controller mit z.B. "@FXML private FXMLTab1Controller fXMLTab1Controller;" aufführe habe ich ja nur Zugriff auf den Controller aber nicht auf die Instanzen darin.
Richtig - das ist der Sinn des ganzen: den inneren Zustand kapseln und nach außen möglichst wenig herausgeben.

Vielleicht könntest du oder jemand anders mir mit einem einfachen Beispiel zeigen wie du auf Instanzen von Tab2 auf Instanzen von Tab1 zugreifts.
Wenn man es zwingend muss über Getter, wie @JustNobody schon sagte. Besser ist aber, wenn kein Zugriff nötig ist, dann kann man das zB über ein gemeinsames Model lösen.

schön wärs, aber ich habe FXMLMain mit korrespondierenden FXMLTab1 und FXMLTab2 und jede hat gleichzeitig mehre Instanzen. Ich habe so mein Ziel nicht erreicht.
Doch. Ob man einer oder 700 Instanzen des ganzen Baumes hat ist egal, solange man sauber dazwischen trennt.
 
mrBrown

mrBrown

Wie schon mal gesagt: Gib doch mal ein halbwegs "echtes" Beispiel, woran man die beiden Varianten sinnvoll vergleichen könnte :)

An dem initialen Beispiel erkennt man den Vorteil zumindest nicht, da war meins sowohl kürzer, als auch so ziemlich jeder Metrik nach besser – von daher würde mich ein Beispiel interessieren, an dem man den Vorteil sehen könnte.
 
Thema: 

JavaFX in mehrere Controller

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben