In Java eine Variable von einer scene zur anderen übergeben?
Hallo,
ich bin in Java ein Programmieranfänger, der eine Frage hat.
Ich habe eine scene1 erstellt, in der ich einer Variablen einen Wert zuweise. Diese Variable (mit zugewiesenem Wert) möchte ich in der scene2 anzeigen bzw. in einer Berechnung verwenden.
In der scene1 kann mit der Variable arbeiten, in der scene2 hat die Variable den Wert 0, obwohl in der scene1 der Wert z.B. 10 beträgt.
Wie kann ich nun der scene2 den Wert der Variable aus scene1 übergeben?
Für eure Antworten im Voraus schon mal herzlichen Dank.
2 Antworten
Da gibt es mehrere Möglichkeiten:
- Eine (statische oder Singleton-)Klasse, die diesen Wert klassenübergreifend speichert.
- Übergeben der Referenz per Konstruktor von scene1 auf scene2.
- Aufrufen eines Setters von scene1 zu scene2.
Einfach mal googeln. :-) Sowohl zu Singleton als auch zu statischen Methoden und Konstruktoren gibt es ganz viel im Netz.
Einer der beiden Controller (für Scene 1 oder 2) benötigt eine Referenz auf den anderen Controller. Dann kannst du die Daten via Getter oder Setter (die du noch implementierst) weiterreichen.
Beispiel:
int variable = 2;
FXMLLoader loader = new FXMLLoader(getClass().getResource("secondScene.fxml"));
SecondSceneController controller = loader.<SecondSceneController>getController();
controller.setVariable(variable);
Ich kann damit leider nicht viel anfangen. Hast du mir ein Beispiel?