JavaFX - (Controller) - Klasse verkleinern

Nemesys88

Bekanntes Mitglied
Guten Abend!

Gibt es (bei JavaFX) irgendwelche (eleganten) Methoden um Klassen kleiner zu machen bzw. Code auszulagern ?

Ich habe da eine Controller-Klasse mit.. (kA. sagen wir einfach 100) FXML - Komponenten also eine A.java, die zu einer A.fxml gehört. Die Controller-Klasse hat 20 Funktionen, das sind aber alles Funktionen die massivst mit den FXML - Komponenten (also der View) arbeiten.

Da die Klasse ohne Kommentierung aber bereits 3000+ Zeilen Quellcode hat würd ich sie gerne kleiner machen - welche sinnvollen, einfachen und eleganten Methoden habe ich dies zu bewerkstelligen ?

Wie gesagt in den Methoden brauch ich leider andauernd die View-Komponenten...

Ich habe bereits versucht Getter/Setter für die Komponenten zu bauen um sie dann in einer anderen Klasse zu benutzen, aber bei der großen Anzahl Komponenten waren es dann auf einmal 4000 Zeilen, das hab ich dann bleiben lassen...

Wäre toll, wenn jemand eine Idee hätte.

mfG
 

Nemesys88

Bekanntes Mitglied
Also das das so möglich ist, ist zwar sehr schön aber das jetzt im Nachhinein noch zu machen empfinde ich als recht kompliziert... wenn dann muss man das vorher planen denke ich, eine solche neue Komponente anzulegen.
Bei meiner Klasse sehe ich keine Möglichkeit da jetzt noch was Sinnvolles mit zu machen...
 

truesoul

Top Contributor
Hallo,

ich nehme an du hast mehrere Controller? Für "Teilbereiche" der Anwendung jeweils ein Controller?
z.B ein Controller für die Menübar usw?

Falls nicht, solltest du dies versuchen umzusetzen.
Und selbstverständlich solltest du doppelten Code usw verhindern.

Grüße
 

Nemesys88

Bekanntes Mitglied
Guten Morgen,

ja, ich habe sozusagen für jedes Fenster einen Controller. Das sind aber alles recht kleine Teilbereiche der Anwendung, der mit Abstand größte weitere Controller hat 422 Zeilen.

Es handelt sich bei der großen Klasse quasi um den Controller des sehr komplexen Hauptfensters.
Dadurch, dass ich da viel mit Tabs gearbeitet hab sind da mehrere Erfassungsfenster und Übersichts-Views drin zusätzlich zu diversen Button-Verarbeitungen. Das benötigt natürlich alles irgendwo seinen Code... diverse Listener etc.
(zumal sich das irgendwo auch multipliziert.. du machst bei 5 Erfassungsfenstern halt in der Speichern-Funktion schon alles.. naja mal 5 :D)

Und während ich das schreibe denke ich dass das auch genau der Grund ist warum die Klasse so groß geworden ist...damit sollte ich daran nicht mehr viel rütteln können..

Grüße
 

VirtualIndex

Aktives Mitglied
(zumal sich das irgendwo auch multipliziert.. du machst bei 5 Erfassungsfenstern halt in der Speichern-Funktion schon alles.. naja mal 5 :D)

Das klingt für mich, nach deiner Beschreibung, für den Fehler. Du solltest nur eine Speichern-Funktion haben, die diese Aufgabe für alle 5 Erfassungsfenster ausübt. Du solltest nochmal in deinem Code, allgemein an allen Stellen, prüfen, ob da nicht Dinge das gleiche oder sehr ähnliches machen. Wenn ja kann man diese zu einer Methode zusammenfassen und mithilfe von Parametern und Variablen variieren.
 

klauskarambulut

Bekanntes Mitglied
Werden Properties eingesetzt?

Wenn man in JavaFX Listener verwendet, dann ist man schon auf gutem weg es falsch zu machen.

Geschäftslogik muss raus aus dem Controller. BO dem Controller übergeben und dann lediglich bei einem Klick, dort eine Methode aufrufen.

Validierung kann und sollte man extrahieren. Properties helfen.

Ansonsten mal erfahrene Proframmierer einen Review machen lassen.

In der Regel sieht man schon an den Import-Statements, wenn Grundlegendes schief läuft.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin Netbeans mit JavaFX, FXML und Scenebuilder Java Basics - Anfänger-Themen 11
Juelin javaFX mit Elementen Java Basics - Anfänger-Themen 6
Juelin Netbeans und javafx Java Basics - Anfänger-Themen 6
M Wo den Ordner javafx-sdk-21.0.2 unter Linux ablegen? Java Basics - Anfänger-Themen 5
A Kapazität JavaFX TextField Java Basics - Anfänger-Themen 4
L JavaFX - grundlegende Verständnisprobleme Java Basics - Anfänger-Themen 1
S JavaFX Java Basics - Anfänger-Themen 1
A JavaFX-Anwendung läuft nicht mit Selenium WebDriver Java Basics - Anfänger-Themen 0
A JavaFX Toggle_Button_Disable Java Basics - Anfänger-Themen 2
ac83 JavaFX - Kompilierungsproblem Java Basics - Anfänger-Themen 1
R Intellij javafx --> jar Java Basics - Anfänger-Themen 11
O Compiler-Fehler JavaFX fmxl LoadExeption Java Basics - Anfänger-Themen 4
M Javafx Timeline Java Basics - Anfänger-Themen 2
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
A JavaFX-Filechooser Java Basics - Anfänger-Themen 5
H JavaFX Hintergrundfarbe ändern, warten, Hintergrundfarbe wieder ändern Java Basics - Anfänger-Themen 34
A JavaFx - SceneBuilder Java Basics - Anfänger-Themen 5
S JavaFX - Objekt an neue Stage übergeben Java Basics - Anfänger-Themen 12
G Javafx Eventhandler zu jedem Node Java Basics - Anfänger-Themen 1
T Elemente aus Array zu TableView JavaFX übertragen Java Basics - Anfänger-Themen 2
T HTMLEditor JavaFX Java Basics - Anfänger-Themen 4
E JavaFX Editor Probleme mit der Zwischenablage Java Basics - Anfänger-Themen 12
E JavaFX Taschenrechner Eingabe im Textfield beschränken Java Basics - Anfänger-Themen 2
D Mit Objekten rechnen, Textfield, JavaFX, Noob Java Basics - Anfänger-Themen 8
P Probleme bei der Installation von JavaFX Java Basics - Anfänger-Themen 3
R Umsetzungsplan JavaFx App Java Basics - Anfänger-Themen 9
M JavaFX- Verschiedene Stages Java Basics - Anfänger-Themen 1
P JavaFx einrichten Java Basics - Anfänger-Themen 6
Torsten.E JavaFX mit Visual Studio Code verwenden Java Basics - Anfänger-Themen 1
P JavaFX: Verständnisproblem bei ComboBox/ChoiceBox etc. Java Basics - Anfänger-Themen 9
T Javafx ListView kann nicht gefüllt werden. Java Basics - Anfänger-Themen 6
D JAVAFX WebVIEW zu JSOUP Java Basics - Anfänger-Themen 3
D Folgende Fehlermeldung bei der Installation von JAVAFX Java Basics - Anfänger-Themen 1
S JavaFX-Arduino Kommunikation mit LCD-Anzeige Java Basics - Anfänger-Themen 0
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
J javafx mediaplayer mit https Java Basics - Anfänger-Themen 3
J JavaFX Label,Button zur Laufzeit Java Basics - Anfänger-Themen 30
D Ausführbare jar/exe aus JAVAFX Projekt erstellen (IntelliJ) Java Basics - Anfänger-Themen 14
O JavaFX XML Versuch Java Basics - Anfänger-Themen 2
O JavaFX Java Basics - Anfänger-Themen 7
M JavaFX-Übung Autospiel Java Basics - Anfänger-Themen 4
M JavaFX: Fenster bleibt weiß Java Basics - Anfänger-Themen 3
L Klassen NFC Reader und JavaFx Problem -> threads? Java Basics - Anfänger-Themen 2
J Aktuelle Zeit in einer JavaFX Anwendung aktualisieren lassen Java Basics - Anfänger-Themen 4
L JavaFx ListView rechts abgeschnitten Java Basics - Anfänger-Themen 0
I Javafx Tabpane Reiter blockieren Java Basics - Anfänger-Themen 1
S JavaFX Beginneraufgabe Java Basics - Anfänger-Themen 1
W JavaFX import Fehler/Zellularautomaten Java Basics - Anfänger-Themen 1
Spencer Reid JavaFX Memory Thread.sleep Java Basics - Anfänger-Themen 1
CptK mit javafx button erstellen Java Basics - Anfänger-Themen 1
U Javafx Array aus Buttons Java Basics - Anfänger-Themen 2
D JavaFX Vererbung Java Basics - Anfänger-Themen 2
E JAvaFX: Verschiedene Panels nach Klick auf Node des TreeView anzeigen Java Basics - Anfänger-Themen 0
K Erste Schritte JavaFX - wie von "externer" Klasse auf Methoden des Controllers zugreifen Java Basics - Anfänger-Themen 2
J JavaFX -> SocketIO -> Thread -> Update Label Java Basics - Anfänger-Themen 13
D JavaFX, Verweis auf Datei im Projekt Java Basics - Anfänger-Themen 0
M JavaFX in Swing-Applikationen einbetten Java Basics - Anfänger-Themen 5
M JavaFX: Problem mit der TableView Java Basics - Anfänger-Themen 0
P JavaFX ohne FXMLLoader Java Basics - Anfänger-Themen 3
K JavaFX UI controls Java Basics - Anfänger-Themen 1
B Farbverlauf erstellen ohne Javafx, AWT usw.? Java Basics - Anfänger-Themen 34
H Best Practice JavaFX TableView mit Zell-Rahmen anstelle von Zeilen-Balken Java Basics - Anfänger-Themen 1
M Ausgabe eines Arrays auf Label (Javafx) Java Basics - Anfänger-Themen 4
K Threads Multithread in JavaFx Java Basics - Anfänger-Themen 11
R Threads in JavaFX Java Basics - Anfänger-Themen 3
U JavaFX eine Vbox Instanz pro Pane? Java Basics - Anfänger-Themen 2
Spencer Reid JavaDoc zu JavaFx hinzufügen Java Basics - Anfänger-Themen 1
V wie kann man am einfachsten für ein Element der JavaFX die Umrandung aktiwieren ? auch ohne css ? Java Basics - Anfänger-Themen 4
D OOP JavaFX objektorientiert Java Basics - Anfänger-Themen 2
V Interface ich schäme mich das zu fragen, aber ich schaff nicht ein Text zu zentrieren :( [javaFX] Java Basics - Anfänger-Themen 6
P JavaFX - Komponenten skalieren Java Basics - Anfänger-Themen 16
P JavaFX Textfelder geben immer null zurück Java Basics - Anfänger-Themen 8
P JavaFX TextArea.setText Java Basics - Anfänger-Themen 13
F javafx.fxml.LoadException: Root hasn't been set. Java Basics - Anfänger-Themen 0
J JavaFX aus Java-Application heraus starten Java Basics - Anfänger-Themen 7
T Swing, SWT oder JavaFX Java Basics - Anfänger-Themen 8
S [JavaFX 2.1] - Eigene Sprachauswahl? Java Basics - Anfänger-Themen 4
D Javafx XYChart Variable in Schleife erzeugen? Java Basics - Anfänger-Themen 18
E JavaFX und Java auf Kommandozeile compilen Java Basics - Anfänger-Themen 2
J Webanwendung JavaFX Java Basics - Anfänger-Themen 4
Povlsen84 [javafx] Zusammenarbeit mit Tomcat Java Basics - Anfänger-Themen 4
EchtKeineAhnungManchmal Controller aus FXML Datei entfernen Java Basics - Anfänger-Themen 49
G Model View Controller Java Basics - Anfänger-Themen 7
B Objekt von EJB in Controller (CDI) - Klasse füllen? Java Basics - Anfänger-Themen 3
H Eine befühlte Klasse weiter geben an Controller Java Basics - Anfänger-Themen 12
R Variablen Variable an FXML-Controller übergeben Java Basics - Anfänger-Themen 4
S Model View Controller: Verständnisproblem Java Basics - Anfänger-Themen 13
S Modell View Controller Verständnisfrage Java Basics - Anfänger-Themen 24
J MVC Pattern, mehrere Controller/Views/Models Java Basics - Anfänger-Themen 0
Q MVC Verständnisproblem: Controller vs model.modelChanged() Java Basics - Anfänger-Themen 0
F MVC -> Probleme beim Controller Java Basics - Anfänger-Themen 6
F Viele Controller-Klassen Java Basics - Anfänger-Themen 5
C OOP Model View Controller - Prinzip Java Basics - Anfänger-Themen 6
Antoras Singleton oder Controller / Datenverwaltungsklasse? Java Basics - Anfänger-Themen 10
K Model-View-Controller Java Basics - Anfänger-Themen 15
T Kommunikation zwischen Controller und GUI Java Basics - Anfänger-Themen 2
K Frage zum Model View Controller Prinzip Java Basics - Anfänger-Themen 6
M Controller + View: Fehlermeldungen Java Basics - Anfänger-Themen 2
megachucky Model View Controller Pattern - Suche Hilfe bei Anwendung Java Basics - Anfänger-Themen 4
S Model-View-Controller Konzept Beispiel Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben