Hallo zusammen,
ich versuche gerade zwei Zustände über den Datentyp enum zu speichern und sitze gerade etwas auf dem Schlauch. Ich habe dazu drei Klassen. In einer soll der Zustand gesetzt werden (FXMLController), in einer gespeichert (Variables) und in der anderen abgerufen werden (ClassThree). Beim Abrufen der Variable in ClassThree bekomme ich aber als Ergebnis immer null, was ich nicht nachvollziehen kann.
Hier definiere ich die enum Variablen mit Getter- und Setter Methoden:
Hier speichere ich den Modus und verändere ihn einmal über einen Button-Klick:
Und hier möchte ich den Zustand in einer weiteren Klasse abfragen, bekomme aber als Ergebnis null:
ich versuche gerade zwei Zustände über den Datentyp enum zu speichern und sitze gerade etwas auf dem Schlauch. Ich habe dazu drei Klassen. In einer soll der Zustand gesetzt werden (FXMLController), in einer gespeichert (Variables) und in der anderen abgerufen werden (ClassThree). Beim Abrufen der Variable in ClassThree bekomme ich aber als Ergebnis immer null, was ich nicht nachvollziehen kann.
Hier definiere ich die enum Variablen mit Getter- und Setter Methoden:
Java:
public class Variables {
Mode mode;
public enum Mode {
MODEONE, MODETWO
}
public void setMode(Mode mode) {
this.mode = mode;
}
public Mode getMode(){
return mode;
}
}
Hier speichere ich den Modus und verändere ihn einmal über einen Button-Klick:
Java:
public class FXMLDocumentController implements Initializable {
private final Variables VARIABLES = new Variables();
private final ClassThree classThree = new ClassThree();
@FXML
private Label label;
@FXML
private void handleButtonAction(ActionEvent event) {
VARIABLES.setMode(Variables.Mode.MODETWO);
classThree.showMode();
}
@Override
public void initialize(URL url, ResourceBundle rb) {
VARIABLES.setMode(VARIABLES.mode.MODEONE);
System.out.println("Saved mode is: " + VARIABLES.getMode()); // "MODEONE"
}
}
Und hier möchte ich den Zustand in einer weiteren Klasse abfragen, bekomme aber als Ergebnis null:
Code:
public class ClassThree {
private final Variables VARIABLES = new Variables();
public void showMode(){
System.out.println("Saved mode is: " + VARIABLES.getMode()); // "null"
}
}