This example demonstrate how to embed JavaFX components (
example of MediaPlay) in Swing JFrame.
|
Embed JavaFX MediaPlayer inside Swing JFrame |
package javafx_insidejframe;
import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
/**
* @web http://java-buddy.blogspot.com/
*/
public class JavaFX_insideJFrame{
private static final String MEDIA_URL = "http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv";
private static void initFxLater(JFXPanel panel){
Group root = new Group();
Scene scene = new Scene(root, 540, 210);
// create media player
Media media = new Media(MEDIA_URL);
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);
// create mediaView and add media player to the viewer
MediaView mediaView = new MediaView(mediaPlayer);
((Group)scene.getRoot()).getChildren().add(mediaView);
panel.setScene(scene);
}
private static void initSwingLater(){
JFrame jFrame = new JFrame("- JFrame -");
jFrame.setSize(540, 210);
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JFXPanel jFXPanel = new JFXPanel();
jFrame.add(jFXPanel);
Platform.runLater(new Runnable(){
@Override
public void run() {
initFxLater(jFXPanel);
}
});
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
initSwingLater();
}
});
}
}
formidable
ReplyDelete