!7 import javafx.application.Platform; import javafx.embed.swing.JFXPanel; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.Text; import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaView; import javafx.scene.layout.*; import javafx.beans.property.*; import javafx.beans.binding.*; p-awt { jfxFastVideo(); JFrame frame = showFrame(); final new JFXPanel fxPanel; frame.add(fxPanel); jfxLater(r { fxPanel.setScene(createScene()); }); } // JavaFX World static Scene createScene() { new BorderPane root; Scene scene = new Scene(root, Color.ALICEBLUE); // Create the media source. //String source = getParameters().getRaw().get(0); String source = "/home/stefan/Downloads/Mission Impossible (2000)/Mission.Impossible.II.2000.720p.BrRip.x264-YIFY.mp4"; Media media = null; try { media = new Media(new File(source).toURI().toURL().toString()); } catch (MalformedURLException e) { throw new RuntimeException(e); } // Create the player and set to play automatically. MediaPlayer mediaPlayer = new MediaPlayer(media); mediaPlayer.setAutoPlay(true); // Create the view and add it to the Scene. MediaView mediaView = new MediaView(mediaPlayer); // Crappy hack from here: http://stackoverflow.com/questions/25090378/how-do-i-make-javafx-mediaview-stretch-media-to-fill-parent-container // mediaView.fitWidthProperty().bind(mediaPlayer.widthProperty()); // Another hack from the same page. DoubleProperty mvw = mediaView.fitWidthProperty(); DoubleProperty mvh = mediaView.fitHeightProperty(); mvw.bind(Bindings.selectDouble(mediaView.sceneProperty(), "width")); mvh.bind(Bindings.selectDouble(mediaView.sceneProperty(), "height")); mediaView.setPreserveRatio(true); root.setCenter(mediaView); ret scene; }