JavaFX Von einer Methode auf stage-Objekt zugreifen

haui95

Bekanntes Mitglied
Guten Tag,

ich bin seit kurzem damit angefangen mit dem JavaFX Framework zu programmieren und habe nun ein Problem mit der start()-Methode. Ich möchte nämlich von einer anderen Methode auf das stage- Objekt in der start()-Methode zugreifen können.

Java:
@Override
    public void start(Stage stage) throws IOException {
        try {
            anchorPane = FXMLLoader.load(getClass().getResource("JmpGui.fxml"));
        } catch (IOException ex) {
            Logger.getLogger(MoviePlayer.class.getName()).log(Level.SEVERE, null, ex);
            return;
        }

        Scene scene = new Scene(anchorPane, Color.BLACK);
        stage.setTitle("JMP Studio");
        stage.setScene(scene);
        stage.show();
    }

   public void play() {
      ...                                      // Hier möchte ich auf stage zugreifen und Attribute setzen.
   }

Vielen Dank im Voraus!

Hauke
 
Funktioniert nicht, wenn ich stage global als Instanzvariable deklariere.

Java:
private Stage stage;

    @Override
    public void start(Stage primaryStage) throws Exception {
        root = FXMLLoader.load(getClass().getResource("JmpGui.fxml"));
        
        System.out.println(primaryStage);
        stage = primaryStage;
        Scene scene = new Scene(root, Color.BLACK);
        primaryStage.setTitle("JMP Studio");
        primaryStage.setScene(scene);
        primaryStage.show();

    }
    
    public void play() { 
      int w = mp.getMedia().getWidth();
      int h = mp.getMedia().getHeight();
      stage.setMinWidth(w);                   // NPE, stage gibt "null" zurück.
      stage.setMinHeight(h);
    }

    }

MfG
 
Schon mal daran gedacht, das der start-Methode null übergeben wurde oder play vor start aufgerufen wird. Wenn das der gesamte Code ist kann es keinen anderen Grund geben.
 

Neue Themen


Zurück
Oben