Java tutorial
/* * Copyright (c) 2011, Pro JavaFX Authors * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of JFXtras nor the names of its contributors may be used * to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * * FullScreenVideoPlayer.java - An example from the Pro JavaFX Platform book. */ //package projavafx.fullscreenvideoplayer; import java.io.File; import javafx.application.Application; import javafx.beans.binding.Bindings; import javafx.beans.property.DoubleProperty; import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaView; import javafx.scene.paint.Color; import javafx.stage.Stage; /** * * @author dean */ public class Main extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { String workingDir = System.getProperty("user.dir"); final File f = new File(workingDir, "../media/omgrobots.flv"); final Media m = new Media(f.toURI().toString()); final MediaPlayer mp = new MediaPlayer(m); final MediaView mv = new MediaView(mp); final DoubleProperty width = mv.fitWidthProperty(); final DoubleProperty height = mv.fitHeightProperty(); width.bind(Bindings.selectDouble(mv.sceneProperty(), "width")); height.bind(Bindings.selectDouble(mv.sceneProperty(), "height")); mv.setPreserveRatio(true); StackPane root = new StackPane(); root.getChildren().add(mv); final Scene scene = new Scene(root, 960, 540); scene.setFill(Color.BLACK); primaryStage.setScene(scene); primaryStage.setTitle("Full Screen Video Player"); primaryStage.setFullScreen(true); primaryStage.show(); mp.play(); } }