Je veux utiliser un JFXPanel pour un lecteur vidéo. J'utilise un fichier fxml pour la conception de l'application. (Pas pour le lecteur vidéo lui-même)mettre un JFXPANEL dans un volet
...
<VBox>
<Pane id="VideoEmbedded" fx:id="VideoEmbedded" style="- fx-background-color: #111111;" VBox.vgrow="ALWAYS" />
<HBox alignment="CENTER" prefWidth="600.0" spacing="8.0" />
</VBox>
...
Je veux simplement « remplacer » signifie remplir le volet (« VideoEmbedded ») avec mon JFXPanel.
//inside the controller
final JFXPanel JFXPanel_VideoEmbedded= new JFXPanel();
@FXML
private JPanel VideoEmbedded;
...
//inside the videoplayer function
VideoEmbedded.add(JFXPanel_VideoEmbedded); //this doesn't work
Comment puis-je ajouter le JFXPanel dans la bonne position dans la DOM-Hirarchy?
Je ne comprends pas pourquoi votre 'JPanel' est défini dans votre classe de contrôleur. Le définissez-vous dans le FXML? Si oui, comment gérez-vous les problèmes de threads décrits dans [documentation] (http://docs.oracle.com/javase/8/javafx/api/index.html)? (Et si non, pourquoi est-il annoté '@ FXML' et comment l'initialisez-vous?) Et aussi ... votre fichier FXML définit' VideoEmbedded' comme un 'Pane' mais votre contrôleur le déclare comme' JPanel', qui est évidemment incompatible. –
Donc, ce que vous essayez de faire à partir de ces minuscules extraits de code n'est vraiment pas clair (c'est le moins qu'on puisse dire). Pouvez-vous expliquer ce que vous essayez réellement d'accomplir? Pourquoi avez-vous besoin de mélanger des composants swing et des composants JavaFX? –
okay mon intention est de montrer une vidéo dans le volet. Mais je crois que c'est seulement possible dans JFXPanels.i combattu en le défendant j'ai accès au volet avec le même fx: id dans mon fichier fxml. Donc je peux dire que VideoEmmbeded prend le JFXPanel à l'intérieur de toi pour que je puisse le voir et peut lire la vidéo (je peux juste entendre l'audio maintenant) Dans Jquery je ferais juste $ ('# JFXPanel_VideoEmbedded'). appendTo ("# VideoEmbedded"); – user3776738