package org.eclipseday.javafx.rcpdemo.view;
import java.net.MalformedURLException;
import java.net.URL;
import javafx.embed.swt.FXCanvas;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.paint.Color;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.ViewPart;
public class MediaView extends ViewPart {
public static final String ID = "org.eclipseday.javafx.rcpdemo.view.MediaView";
private FXCanvas canvas;
/**
* This is a callback that will allow us to create the viewer and initialize it.
*/
@Override
public void createPartControl(final Composite parent) {
this.canvas = new FXCanvas(parent, SWT.NONE);
final BorderPane root = new BorderPane();
final Scene scene = new Scene(root, 800, 600, Color.WHITE);
this.canvas.setScene(scene);
URL mediaURL;
try {
mediaURL = new URL("file:///C://Strobo.flv");
final MediaPlayer mediaPlayer = new MediaPlayer(new Media(mediaURL.toString()));
final javafx.scene.media.MediaView mv = new javafx.scene.media.MediaView(mediaPlayer);
mediaPlayer.setCycleCount(-1);
mediaPlayer.play();
root.setCenter(mv);
} catch (final MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* Passing the focus request to the viewer's control.
*/
@Override
public void setFocus() {
this.canvas.setFocus();
}
}