JavaFX Video in Jpanel

neridonk

Mitglied
Hi ich versuche gerade es hinzubekommen in ein Jpanel ein video abzuspielen :

komem nur soweit :

Java:
import java.awt.EventQueue;



public class introchose {

	private JFrame frame;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					introchose window = new introchose();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application.
	 */
	public introchose() {
		initialize();
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		frame = new JFrame();
		frame.setBounds(100, 100, 582, 514);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		JLayeredPane layeredPane = new JLayeredPane();
		GroupLayout groupLayout = new GroupLayout(frame.getContentPane());
		groupLayout.setHorizontalGroup(
			groupLayout.createParallelGroup(Alignment.LEADING)
				.addGroup(groupLayout.createSequentialGroup()
					.addGap(21)
					.addComponent(layeredPane, GroupLayout.PREFERRED_SIZE, 521, GroupLayout.PREFERRED_SIZE)
					.addContainerGap(24, Short.MAX_VALUE))
		);
		groupLayout.setVerticalGroup(
			groupLayout.createParallelGroup(Alignment.LEADING)
				.addGroup(groupLayout.createSequentialGroup()
					.addGap(43)
					.addComponent(layeredPane, GroupLayout.DEFAULT_SIZE, 422, Short.MAX_VALUE)
					.addContainerGap())
		);
		
        final JFXPanel fxPanel = new JFXPanel();
        fxPanel.setBounds(23, 11, 488, 344);
        layeredPane.add(fxPanel);
        frame.setVisible(true);
		
		
		JButton btnStart = new JButton("start");
		btnStart.addActionListener(new ActionListener() {
			@SuppressWarnings("deprecation")
			public void actionPerformed(ActionEvent arg0) {

			
				 
				    String workingDir = System.getProperty("user.dir");
				    final File f = new File(workingDir, "media/meinvideo.mp4");
				    
				    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"));
				    
				 
				    
				    StackPane root = new StackPane();
				    root.getChildren().add(mv);
			
			
				 
				    
				    final Scene scene = new Scene(root, 488, 344);


				    
				    fxPanel.setScene(scene);
				
				   
				 
				    
				    mp.play();
			        
				    
					
			}
		});
		btnStart.setBounds(227, 388, 89, 23);
		layeredPane.add(btnStart);
		frame.getContentPane().setLayout(groupLayout);
		
		
		
		 
   
		
		
		
	}
}


läuft aber nicht:rtfm::eek:
 

dzim

Top Contributor
Boah keine Ahnung - aber zwei Ideen:
1) Existiert das File?
2) JavaFX-UI-Thread - führe von AWT/Swing aus am besten alle Operationen auf JavaFX mittels der Klasse Platform aus dem JavaFX-Namespace aus: [c]Platform.runLater(Runnable)[/c]. FX und Swing laufen auf unterschiedlichen UI-Threads. Nur unter SWT würde es gehen, direkt FX-Komponenten zu verändern, weil sie eben auf dem selben Hauptthread laufen.
 

neridonk

Mitglied
super lag am Thread-ing

habs so gelöst:

Auruf :

Java:
	String workingDir = System.getProperty("user.dir");
				  final File f = new File(workingDir, "media/meinVideo.mp4");
				VideoLoader vid = new VideoLoader(f);


Klasse :
Java:
import java.io.File;

import javax.swing.JPanel;

import com.sun.javafx.application.PlatformImpl;

import javafx.application.Application;
import javafx.beans.binding.Bindings;
import javafx.beans.property.DoubleProperty;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Group;
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;

public class VideoLoader extends JPanel implements Runnable {

/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
Media media;
MediaPlayer player;
MediaView view;
JFXPanel jfxPanel;
Dimension d;
DoubleProperty width;
DoubleProperty height;
Group root;

public VideoLoader(File file) {

 
    media = new Media(file.toURI().toString());

    jfxPanel = new JFXPanel();

    playAndLoopVideo();

}

private void player() {

    root = new Group();

    player = new MediaPlayer(media);
    player.play();
    player.setMute(true);
    view = new MediaView(player);

    DoubleProperty width = view.fitWidthProperty();
    DoubleProperty height = view.fitHeightProperty();

    width.bind(Bindings.selectDouble(view.sceneProperty(), "width"));
    height.bind(Bindings.selectDouble(view.sceneProperty(), "height"));

    view.setPreserveRatio(true);
    root.getChildren().add(view);
    player.setOnEndOfMedia(this);

    PlatformImpl.runLater(
            new Runnable() {
                @Override
                public void run() {
                    Scene scene = new Scene(root, 388,144);
                    introchose.fxPanel.setScene(scene);
                }
            });

  
}

@Override
public void run() {
    player.stop();
    player();
}
}
 

dzim

Top Contributor
Ok, schön. Das nächste mal aber am besten noch den StackTrace - oder wenigstens das letzte "Caused By" mitliefern, dann ist es nicht nur Rätselraten, in Ordnung?

Grüsse,
Daniel
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J BufferedImages nacheinander als Video anzeigen AWT, Swing, JavaFX & SWT 14
M Problememit Video Capture AWT, Swing, JavaFX & SWT 5
T JavaFX H.264 AVC Video abspielen AWT, Swing, JavaFX & SWT 4
BRoll Frame- Video einbinden machbar? AWT, Swing, JavaFX & SWT 6
A (Youtube-) Video in Swing GUI einbinden AWT, Swing, JavaFX & SWT 13
P 2D-Grafik Viele Bilder zu einem Video AWT, Swing, JavaFX & SWT 3
M Swing Video in Swing AWT, Swing, JavaFX & SWT 4
destroflyer *.bik-Video abspielen AWT, Swing, JavaFX & SWT 4
X Video's aus JPG's oder BufferedImages generieren AWT, Swing, JavaFX & SWT 3
G Transparente Grafik über JMF Video zeichnen AWT, Swing, JavaFX & SWT 2
G Über ein Video zeichnen AWT, Swing, JavaFX & SWT 3
A video-datei in java abspielen (SWING) AWT, Swing, JavaFX & SWT 8
P Zwei JPanel übereianderlegen AWT, Swing, JavaFX & SWT 14
XWing Basic JPanel mit 2 Buttons beutzen. AWT, Swing, JavaFX & SWT 10
G JPanel per Drag and Drop JButtons und Bilder ablegen AWT, Swing, JavaFX & SWT 1
G JPanel mit JButtons und Bilder AWT, Swing, JavaFX & SWT 5
N AWT JPanel zu Jframe hinzufügen AWT, Swing, JavaFX & SWT 2
M clear JPanel before repainting AWT, Swing, JavaFX & SWT 1
B ImageIcon auf JPanel austauschen AWT, Swing, JavaFX & SWT 3
T Swing Reload JPanel + darin liegende ProgressBar AWT, Swing, JavaFX & SWT 9
P Swing Mehrere JLabels mit ImageIcon in JPanel lesen AWT, Swing, JavaFX & SWT 1
E JScrollPane mit JPanel verbinden AWT, Swing, JavaFX & SWT 1
F JPanel Celleditor AWT, Swing, JavaFX & SWT 8
B JPanel-Inhalte inkl. JTextarea zoomen? AWT, Swing, JavaFX & SWT 3
B Mit ContentPane werden Komponenten angezeigt, mit SplitPane, JPanel nicht? AWT, Swing, JavaFX & SWT 6
CptK Funktionsgraphen effizient zeichnen und nur Teile von JPanel erneuern AWT, Swing, JavaFX & SWT 2
P Button simpler random auf einem JPanel verteilen? AWT, Swing, JavaFX & SWT 3
O Swing "Eigenes" JPanel wird dem JScrollPane nicht hinzugefügt AWT, Swing, JavaFX & SWT 5
Ich lerne Java. Swing Von JPanel A auf JPanel B zugreifen. AWT, Swing, JavaFX & SWT 4
A JPanel austauschen und Focus geben AWT, Swing, JavaFX & SWT 3
E Auf JPanel malen und davor JComponenten anzeigen AWT, Swing, JavaFX & SWT 12
L JComponent aus JPanel anhand Mausposition ermitteln AWT, Swing, JavaFX & SWT 10
J JPanel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
B Verschiebbares JPanel "ruckelt" im Randbereich AWT, Swing, JavaFX & SWT 2
S Swing JPanel nimmt keinen KeyListener an AWT, Swing, JavaFX & SWT 7
K JLabel mit Bilder im nicht initialisierten JPanel hinzufügen AWT, Swing, JavaFX & SWT 5
Hatsi09 Swing JPanel Bild einfügen AWT, Swing, JavaFX & SWT 14
L JPanel zeigt keinen Inhalt AWT, Swing, JavaFX & SWT 1
dereki2000 JPanel mit Rückgbe wie bei JOptionPane AWT, Swing, JavaFX & SWT 3
E Hintergrundfarbe setzen in JPanel funktioneirt nicht AWT, Swing, JavaFX & SWT 4
P JPanel KeyListener hinzufügen AWT, Swing, JavaFX & SWT 8
S Nach scrollen verschwindet das zuvor im JPanel gezeichnete AWT, Swing, JavaFX & SWT 2
P Bewegung eines Balkens in eineum JPanel welches als Spielfeld fungiert AWT, Swing, JavaFX & SWT 2
L Swing JPanel Größe anpassen AWT, Swing, JavaFX & SWT 6
D Platzierung von JTextfield in JPanel AWT, Swing, JavaFX & SWT 3
D Swing Anwendung ohne JPanel erstellen AWT, Swing, JavaFX & SWT 1
M Swing JPanel in JScrollPane AWT, Swing, JavaFX & SWT 3
M Zwei JPanel übereinander nur vorderes "repainten" AWT, Swing, JavaFX & SWT 3
J 2D-Grafik Background einer Jpanel Klasse ändern AWT, Swing, JavaFX & SWT 1
J Ziehen eines Buttons im JPanel AWT, Swing, JavaFX & SWT 2
J Button lässt sich nicht auf dem JPanel verschieben AWT, Swing, JavaFX & SWT 5
D zwei JLabel stapeln in einem JPanel AWT, Swing, JavaFX & SWT 5
DaCrazyJavaExpert Swing JPanel "ContentPane" wird nicht gesetzt/angezeigt AWT, Swing, JavaFX & SWT 16
DaCrazyJavaExpert Swing Größe des JPanel ändern/wird nicht geändert. AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing JPanel wird in JScollPane nicht angezeigt AWT, Swing, JavaFX & SWT 2
it_is_all JPanel verschwindet nach Button-Klick AWT, Swing, JavaFX & SWT 2
B Bar Plot in Swing JPanel AWT, Swing, JavaFX & SWT 0
F Screenshot eines JPanel AWT, Swing, JavaFX & SWT 3
S JPanel rotieren, Bild ist abgeschnitten, Clipping? AWT, Swing, JavaFX & SWT 0
M Swing JPanel flüssig verschieben AWT, Swing, JavaFX & SWT 5
G Nur ein JPanel wird angezeigt AWT, Swing, JavaFX & SWT 9
kilopack15 JPanel im laufenden Zustand einfärben AWT, Swing, JavaFX & SWT 2
kilopack15 JPanel Farbverwaltung AWT, Swing, JavaFX & SWT 1
A JScrollPane soll JPanel mit JButtons enthalten und eine Scollbar anzeigen AWT, Swing, JavaFX & SWT 1
A Swing JLabels in einer ForEach Schleife an den JPanel anheften (UNO Netzwerkspiel) AWT, Swing, JavaFX & SWT 1
L JPanel zeichnet im Konstrukter erzeugten Hintergrund nicht AWT, Swing, JavaFX & SWT 10
Java_RY wie kann ich auf JButtons in einem JPanel zugreifen AWT, Swing, JavaFX & SWT 3
F Zeichnung einem JPanel im Layoutmanager zuweisen AWT, Swing, JavaFX & SWT 3
Meeresgott Swing Umgang mit JPanel AWT, Swing, JavaFX & SWT 4
R 2D-Grafik PNG Bild per Graphics auf JPanel AWT, Swing, JavaFX & SWT 9
K JPanel Bilder bei Windows nicht darstellbar AWT, Swing, JavaFX & SWT 6
W Swing JPanel nur einmal nach mehreren Änderungen neu zeichnen AWT, Swing, JavaFX & SWT 1
J Swing Zeichenfläche im JPanel des Haupfenster anzeigen lassen AWT, Swing, JavaFX & SWT 4
A Swing JPanel zeigt Buttons nicht an AWT, Swing, JavaFX & SWT 4
R JPanel überzeichnet alles? AWT, Swing, JavaFX & SWT 1
D Von JPanel auf anderes JPanel zugreifen AWT, Swing, JavaFX & SWT 9
L Swing Teile eines JPanel in eigene Klasse auslagern AWT, Swing, JavaFX & SWT 3
I JPanel - Verwaltung/ Anordnung AWT, Swing, JavaFX & SWT 4
T JComponents zur Laufzeit auf JPanel darstellen AWT, Swing, JavaFX & SWT 10
F Java Swing Rechteck in JPanel zeichnen AWT, Swing, JavaFX & SWT 7
J Linien auf JPanel zeichnen AWT, Swing, JavaFX & SWT 3
L ImageIcon auf JPanel wird nicht angezeigt(keiner Fehlermeldung) AWT, Swing, JavaFX & SWT 11
M Swing JPanel innerhalb eines Frames verschieben AWT, Swing, JavaFX & SWT 3
T JTextField Array im JPanel wird nicht komplett angezeigt AWT, Swing, JavaFX & SWT 7
K Swing JPanel ueber komplette Form legen AWT, Swing, JavaFX & SWT 1
W Swing Größenänderung vom JPanel im JScrollPane und anschließendes positionieren AWT, Swing, JavaFX & SWT 2
R Komponenten von JPanel bleiben unsichtbar AWT, Swing, JavaFX & SWT 2
O JTabeddpane aber jedes JPanel als eigene Klasse anlegen AWT, Swing, JavaFX & SWT 7
llabusch Linien in JPanel zeichnen AWT, Swing, JavaFX & SWT 6
I (JPanel) paintComponent mit Zeitverschiebung (Sleep/Wait) AWT, Swing, JavaFX & SWT 1
H Netbeans Designer: Probleme mit JPanel und JFrame AWT, Swing, JavaFX & SWT 2
S jpanel anchor bottom AWT, Swing, JavaFX & SWT 1
thobren Swing Im JPanel wird nur TextArea gelöscht AWT, Swing, JavaFX & SWT 13
A JPanel größe verändern AWT, Swing, JavaFX & SWT 4
G JPanel komponente Löschen AWT, Swing, JavaFX & SWT 7
F JPanel "verschmelzen" GridLayout AWT, Swing, JavaFX & SWT 10
B Dropdown "Einstellungen" auf JPanel, transparent AWT, Swing, JavaFX & SWT 1
D GlassPane für JPanel AWT, Swing, JavaFX & SWT 2
F JPanel "zeichnet" keinen Text AWT, Swing, JavaFX & SWT 14
T Swing Index für Komponente in JPanel? AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen


Oben