JavaFX: Wie kann ich einer Scene Argumente übergeben?

FRI3ND

Mitglied
Ich möchte ein JavaFX Frame für zwei unterschiedliche Aktionen nutzen; einmal, um einen neuen Datensatz zu speichern und einmal, um ihn anzupassen.
Es wäre in meinen Augen nicht sinnvoll, dafür jetzt zwei verschiedene fxml-Dateien und Controller-Klassen zu erstellen, dennoch habe ich bei meiner Recherche keine Möglichkeit gefunden, einem Frame vor dessen Start Argumente zu übergeben wie beispielsweise einem Swing-JFrame mit dessen Konstruktor.
Da man die Fenster allerdings auch öfters als nur einmal in der Sitzung öffnen können soll, fallen die Möglichkeiten der initialize-Methode und des Konstruktors leider weg.
Weiß jemand von euch, wie ich das Ganze realisieren kann, ohne dass ich meinen ganzen Code unleserlich mache?
Danke im Voraus!
 

Robat

Top Contributor
Es wäre in meinen Augen nicht sinnvoll, dafür jetzt zwei verschiedene fxml-Dateien und Controller-Klassen zu erstellen,
Wieso nicht? Warum sollte denn ein Layout+Controller für 2 Anwendungsfälle (Speichern + Bearbeiten) zuständig sein?

Mal davon abgesehen:
Ich versteh nicht ganz was du mit "Argumente dem Frame zu übergeben" meinst. Versuch dich am Besten mal mit JavaFX-Terminologie auszudrücken bzw zeig mal anhand eines kleinen Beispieles was genau du gerne hättest
 

FRI3ND

Mitglied
Ich versteh nicht ganz was du mit "Argumente dem Frame zu übergeben" meinst.

Java:
/* Code... */

scanner scr = new Scanner();
String auswahl = scr.next();

if (auswahl.equals("Bearbeiten") {
    new DataFrame(true);
} else {
    new DataFrame(false);
}

/* DataFrame */
public DataFrame(boolean bearbeiten)
    if (bearbeiten) {
        setzeBearbeitenEinstellungen();
    } else {
        setzeHinzufuegenEinstellungen();
    }
/* weiterer Code */
 

mihe7

Top Contributor
Wieso nicht? Warum sollte denn ein Layout+Controller für 2 Anwendungsfälle (Speichern + Bearbeiten) zuständig sein?
Das ist eine berechtigte Frage, insbesondere wenn ich mir die ifs im Code von @FRI3ND ansehe.

Oftmals ist es aber doch so, dass das UI absolut identisch ist, egal ob man neue Sätze anlegt oder vorhandene speichert. Der Unterschied besteht dann lediglich darin, ob man in der View ein ausgelesenes oder ein neues Objekt darstellt.
 

FRI3ND

Mitglied
Um genaueres zu sagen müsste man genau wissen, was gewollt ist

Die Daten werden in einer txt-Datei nach dem Key-Value-Prinzip gespeichert; ich müsste also "nur" eine Integer übergeben. Allerdings muss eben beim Aufruf erkannt werden, dass es einen Parameter gibt, um die txt auszulesen und die Felder im Voraus mit Informationen zu füllen.
 

Robat

Top Contributor
Die Datei kannst du doch bei jedem Start des Programms auslesen.. Wenn sie nicht leer ist dann werden die Felder mit Daten befüllt

Was genau möchtest du denn für eine Anwendung machen.. Klingt nach einer Art Verwaltung aber deine Grundidee hab ich noch nicht ganz verstanden ... Bzw klingt das Konzept für mich falsch
 

FRI3ND

Mitglied
Die Datei kannst du doch bei jedem Start des Programms auslesen.. Wenn sie nicht leer ist dann werden die Felder mit Daten befüllt

Und woher weiß ich dann, welche "Zeile" die richtige ist, welche Zeile ich laden soll? Die Textdatei ist quasi eine csv-Datei, die ich allerdings nicht beliebig beschreiben darf; es ist wichtig, dass nur Key-Value-Paare darin vorhanden sind. Somit fällt die Möglichkeit, die Zeilenangabe in die erste Zeile zu schreiben, leider weg.
Hinzu kommt, dass das Erstellen einer neuen Datei für so etwas übertrieben wirkt, außerdem leidet die Performance auch darunter; ich bin mir sicher, dass man irgendwie im Aufruf Argumente übergeben und verarbeiten kann, leider weiß ich jedoch nicht, wie...
 

Robat

Top Contributor
Ich hab den Ablauf des Programms noch nich wirklich verstanden.
Es gibt Datei mit Key-Value-Paare ... Jetzt hast du eine Anwendung, die immer eine Zeile aus der Datei darstellen soll aber wie soll das ablaufen?
Gibt es eine Tabelle mit allen Zeilen der Datei und wenn man auf eine Row in der Tabelle klickt soll zB der Datensatz geändert werden können? Wie wird bestimmt welche Zeile verändert werden soll?
 

Robat

Top Contributor
Schau dir mal folgendes Tutorial an.. dort wird eigentlich ganz schön gezeigt wie man Daten an andere "Layouts/Controller" übergibt. Es ist nicht 100%ig das was du brauchst, geht aber in die Richtung.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
G JavaFX JavaFX-Dialog aus einer Nicht-JavaFX-Anwendung heraus AWT, Swing, JavaFX & SWT 1
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
Kanda Sorata Inhalt einer .txt Datei einlesen und in ein Label einfügen (JavaFX) AWT, Swing, JavaFX & SWT 2
J JavaFX - Felder (Label) in einer ForSchleife bearbeiten AWT, Swing, JavaFX & SWT 4
P JavaFX Slider soll Value erst ab einer bestimmten Bedinung aendern AWT, Swing, JavaFX & SWT 19
E JavaFX JavaFX - MenuItem erstellen aus dem Inhalt einer HashMap AWT, Swing, JavaFX & SWT 1
V JavaFX, Pane construktor von einer Klasse in der Main verwenden. AWT, Swing, JavaFX & SWT 4
Juelin StringGrid in SceneBuilder und javaFX AWT, Swing, JavaFX & SWT 2
Juelin starten maven javafx programm ohne netbeans AWT, Swing, JavaFX & SWT 38
Juelin javax.swing in javafx AWT, Swing, JavaFX & SWT 1
MiMa JUnit5 im JavaFX Projekt AWT, Swing, JavaFX & SWT 2
Juelin in javafx Event auslösen AWT, Swing, JavaFX & SWT 4
MiMa Fonts, Icons, Bilder in JavaFX Anwendung AWT, Swing, JavaFX & SWT 5
MiMa SwingFXUtils in JavaFX 20 AWT, Swing, JavaFX & SWT 6
MiMa JavaFX Fenstertitel zu klein. AWT, Swing, JavaFX & SWT 1
MiMa JavaFX JAR unter Windows ausführen schlägt fehl? AWT, Swing, JavaFX & SWT 5
Hatsi09 Javafx MediaPlayer spielt nicht immer AWT, Swing, JavaFX & SWT 3
Hatsi09 Javafx Neuladen von ImageView und MediaView AWT, Swing, JavaFX & SWT 3
Maxim6394 JavaFX Umlaute in JavaFX GUI AWT, Swing, JavaFX & SWT 12
Maxim6394 JavaFX Scene Builder - Crash bei eigener Komponente AWT, Swing, JavaFX & SWT 2
Ernesto95 JavaFX JavaFX GUI mit sehr vielen Update requests AWT, Swing, JavaFX & SWT 4
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
J Netbeans die JavaFX-Anwendung wird nicht ausgeführt AWT, Swing, JavaFX & SWT 16
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
tommybalbor JavaFx Anwendung klappt nicht für macOs Nutzern, wenn ich zwei dependecies bei maven hinzufüge AWT, Swing, JavaFX & SWT 6
JavaSchmecktLecker JavaFX JavaFX Ordner automatisch verlinken AWT, Swing, JavaFX & SWT 2
melaniemueller Taschenrechner JavaFX AWT, Swing, JavaFX & SWT 4
R auto. Importanweisungen für javafx funktioniert in Eclipse nicht mehr AWT, Swing, JavaFX & SWT 4
thor_norsk JavaFX Anwendung stürzt ab AWT, Swing, JavaFX & SWT 4
berserkerdq2 Skalieren sich javafx objekte automatisch auf die Bildschirmgröße AWT, Swing, JavaFX & SWT 6
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
B Java Projekt mit JavaFX und jfoenix ausführbar machen AWT, Swing, JavaFX & SWT 46
H JavaFX wie JavaFX Projekt aufsetzen? AWT, Swing, JavaFX & SWT 10
thor_norsk JavaFX - Grafikkarte AWT, Swing, JavaFX & SWT 7
MiHimbert Rückmeldung an den aufrufenden JAVAFX-Dialog AWT, Swing, JavaFX & SWT 1
MiMa JavaFX Runtime components are Missing??? AWT, Swing, JavaFX & SWT 3
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
B JavaFX Sprachumschaltung mit Button auf der HMI AWT, Swing, JavaFX & SWT 6
H JavaFX Fehlende JavaFX Package AWT, Swing, JavaFX & SWT 10
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
_user_q Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
G JavaFX Line Chart mit Farbverlauf/Gradient in Linie AWT, Swing, JavaFX & SWT 1
thor_norsk JavaFX, FXML und SceneBuilder AWT, Swing, JavaFX & SWT 6
_user_q Über installDist exportiertes Programm wirft "Unsupported JavaFX configuration" AWT, Swing, JavaFX & SWT 0
CodingBerlin JavaFX Programm läuft nur unter Eclipse AWT, Swing, JavaFX & SWT 1
H Fehler: Zum Ausführen dieser Anwendung benötigte JavaFX-Runtime-Komponenten fehlen AWT, Swing, JavaFX & SWT 44
temi JavaFX "Frames" in JavaFx - passende Komponente? AWT, Swing, JavaFX & SWT 13
G JavaFX Steuerung bzw. Test von externer JavaFX Anwendung (liegt nur als jar vor) AWT, Swing, JavaFX & SWT 9
_user_q [JavaFX] Spinner so einstellen, dass er nicht leer bleiben darf? AWT, Swing, JavaFX & SWT 6
S Javafx getResource-Pfad wird nicht erkannt AWT, Swing, JavaFX & SWT 7
A JavaFX exportierte Jar ohne beim starten die Libs hinzufügen? AWT, Swing, JavaFX & SWT 2
J JavaFX Schiffe versenken mit JavaFX und Scene builder AWT, Swing, JavaFX & SWT 3
Encera ArrayList mit eigenen Objekten in JavaFX sortieren und ausgeben AWT, Swing, JavaFX & SWT 50
L JavaFx Textformatierung mittels Datenbank und Funktion anpassen AWT, Swing, JavaFX & SWT 5
sserio Wie funktioniert ein Controller bei JavaFx? AWT, Swing, JavaFX & SWT 1
sserio Kann man bei JavaFx ein Fenster aufkommen lassen? AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
S Ich bringe Code mit JavaFX unter Apache NetBeans IDE 12.6 nicht zum laufen. AWT, Swing, JavaFX & SWT 14
K Bekomme (u.a) javafx.fxml.LoadException trotz "korrektem" Code AWT, Swing, JavaFX & SWT 8
S JavaFX: voneinander abhängige TextFields AWT, Swing, JavaFX & SWT 33
M Gluon will JavaFX in den Browser stecken AWT, Swing, JavaFX & SWT 0
H javafx application does not exist AWT, Swing, JavaFX & SWT 16
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
izoards JavaFX TableView mit Array Inhalt füllen AWT, Swing, JavaFX & SWT 1
M Javafx versuch Bibliothek zu erstellen AWT, Swing, JavaFX & SWT 0
N JavaFX Javafx intelij Projekt zu ausführbaren jar Datei Machen AWT, Swing, JavaFX & SWT 1
K JavaFx, Sound Aufnahme und Thread AWT, Swing, JavaFX & SWT 0
izoards JavaFX TextFlow - Sonderzeichen AWT, Swing, JavaFX & SWT 1
maximstein JavaFX WebView - java.lang.NoSuchMethodError: 'boolean com.sun.prism.ResourceFactory.isDisposed()' AWT, Swing, JavaFX & SWT 4
N JavaFX Unicode zeichnen in javafx Label verwenden AWT, Swing, JavaFX & SWT 2
MiHimbert javaFX openfx (17) datepicker AWT, Swing, JavaFX & SWT 3
A Mit JavaFX einzelne Zeilen in TableView farbig markieren AWT, Swing, JavaFX & SWT 5
melaniemueller JavaFX Taschenrechner mit SceneBuilder AWT, Swing, JavaFX & SWT 12
Jose05 Javafx Label Höhe=Breite AWT, Swing, JavaFX & SWT 1
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
izoards JavaFX editierbare Tabelle AWT, Swing, JavaFX & SWT 4
N javafx Position der Bustaben finden label AWT, Swing, JavaFX & SWT 1
D Verschieden Scenen ansprechen mit dem Scene Builder und JavaFX (Eclipse) AWT, Swing, JavaFX & SWT 16
izoards JavaFX Background Task warten auf Knopfdruck AWT, Swing, JavaFX & SWT 4
M Zufallsgenerator bei JavaFx AWT, Swing, JavaFX & SWT 1
N Label Schriftart Ändern javafx AWT, Swing, JavaFX & SWT 2
L JavaFX JavaFX, MVVM und SceneBuilder AWT, Swing, JavaFX & SWT 4
S JavaFx Album AWT, Swing, JavaFX & SWT 137
I JavaFX - Pane wechseln über 2. Controller AWT, Swing, JavaFX & SWT 5
melaniemueller JavaFX Beispiel kann nicht ausgeführt werden AWT, Swing, JavaFX & SWT 4
T FXML Datei in Java Code einbinden: javafx.fxml.LoadException AWT, Swing, JavaFX & SWT 2
J JavaFX - Included FXML - Entfernen feststellen AWT, Swing, JavaFX & SWT 2
J JavaFX JavaFX/ Taskmenu / UML Klassendiagramm AWT, Swing, JavaFX & SWT 2
Davee JavaFX JavaFX Jar ausführbar jedoch nicht alle Stages AWT, Swing, JavaFX & SWT 3
2 JavaFX die ChoiceBox leitet den String nicht weiter oder es komm zu einem NullPointer AWT, Swing, JavaFX & SWT 8
C MouseEvent JavaFX AWT, Swing, JavaFX & SWT 4
L JavaFX javafx.fxml.LoadException bei einem Taschenrechner AWT, Swing, JavaFX & SWT 5
M4cM4rco0707 JavaFX Custom-Komponente mit Custom-Controller AWT, Swing, JavaFX & SWT 3
M Error occurred during initialization of boot layer java.lang.module.FindException: Module javafx.controls not found AWT, Swing, JavaFX & SWT 14
G javafx build.fxbuild in eclipse und ANT AWT, Swing, JavaFX & SWT 9
M Kollisionensbehandlung mit JavaFX AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben