Javafx Neuladen von ImageView und MediaView

Hatsi09

Aktives Mitglied
Hallo zusammen,

mein Programm soll durch Klicks abwechselnd Bilder und Videos laden (so ähnlich wie in einer PP-Präsentation) in Javafx. Ich habe mir eine Stage erstellt, in der ich die Scene habe, diese hat ein BorderPane welches entweder die ImageView (für Bild) oder die MediaView (für Videos) enthält. Ich habe bereits gelesen, dass man zum neuen Laden des Videos einen neuen MediaPlayer erstellen muss. Hier ist mein Code:
Java:
public void start(Stage stage)
    {
        Stage sceneStage = stage;
    
        BorderPane pane = new BorderPane();
        pane.setBackground(new Background(new BackgroundFill(Color.BLACK, CornerRadii.EMPTY, Insets.EMPTY)));
        Scene scene = new Scene(pane, 1920, 1080);
        scene.setFill(Color.BLACK);
        MediaPlayer mediaPlayer = new MediaPlayer((Media) film.getMedia());
        ...
        MediaView mediaView = new MediaView(mediaPlayer);
        pane.setCenter(mediaView);
        mediaView.fitWidthProperty().bind(sceneStage.widthProperty());
        mediaView.fitHeightProperty().bind(sceneStage.heightProperty());
        sceneStage.setScene(scene);
    
        sceneStage.setFullScreenExitHint("");
        sceneStage.setFullScreen(vollbild);
        sceneStage.setMaximized(true);
        sceneStage.show();
}

Ich erstelle jetzt wenn ich ein neues Video / Bild lade, immer eine neue Scene. Muss ich das machen, oder kann ich die Scene und das BorderPane stehen lassen und nur die Views tauschen?
Jetzt habe ich ein unerwartetes Verhalten: Wenn ich ein neues Video / Bild lade, dann springt die Ansicht vom Vollbildmodus kurz in den Fenstermodus, man sieht ganz kurz die weiße Taskleiste aufblitzen und er geht sofort wieder in den Vollbildmodus. Kann man das irgendwie verhindern?

Vielen Dank für eure Hilfe
 
Ja, es reicht, wenn du die Controls selbst austauschst. Das sollte dann auch das Problem mit dem Vollbildmodus lösen, da die Stage ja immer im Vollbild bleibt.

Das wäre ohne Tests jetzt meine Erwartungshaltung.
 

Zurück
Oben