J'essaie d'écrire un maintenant chaque fois que je veux créer une instance de la classe code> de la classe code>, l'application jette un Javafx CODE> Application whit Plusieurs images à l'intérieur d'une fenêtre.
de
La courte histoire est que j'ai un enum code> Classe nommée
Candy code> et chaque bonbon a des propriétés et un chemin d'accès au fichier image représentant.
de
Dans le constructeur de mon javafx.application code> classe (
table code>) Je souhaite remplir une liste de matrices avec ces images, donc j'ai écrit cela jusqu'à présent:
java.lang.runtimeexception: graphiques internes non initialisé mais code>.
de
Comment puis-je initialement graphiques qu'il semble ne pas? P> p>
3 Réponses :
Tout d'abord si vous utilisez Linux, GTK 2.18 est nécessaire pour exécuter JavaFX. Installer
libswt-gtk-3-java
Je n'ai aucune idée de ce que cela fonctionne exactement, mais lorsque nous créons un JFXPanel d'abord dans notre démarrage, nous ne recevons plus les erreurs.
JFXPanel jfxPanel = new JFXPanel();
En réalité, la classe d'étage Javafx est le conteneur Javafx de niveau supérieur qui doit être construit et modifié sur le thread d'applications Javafx.
Vous utilisez ici la classe de scène mais n'a pas incorporé le contenu Javafx dans une application Swing qui peut vous montrer une " java.lang.runtimeeException avec les graphiques internes du message non initialisé. p>
Ici, vous pouvez utiliser - P>
ou vous pouvez utiliser de cette manière aussi. P> JFXPanel JFXPanel = Nouveau JFXPanel (); Code> P >
JFXPanel: https://docs.oracle.com/javase/8/javafx/api/javafx/embed/swing/JFXPanel.html
Stage: https://docs.oracle.com/javase/8/javafx/api/javafx/stage/Stage.html
Voir les commentaires associés dans le suivi de la question JavaFX: RT-30796 Impossible de créer une image JavaFX jusqu'à "interne Les graphiques "sont initialisés .
De plus, vous ne devez jamais créer manuellement une instance de la classe de table (par exemple, n'écrivez jamais
nouvelle table () code>). L'instance de table sera créée par le lanceur Java - voir le Documentation de l'application JavaFX pour plus de détails sur le cycle de vie de l'application Javafx. Notez également que Une application JavaFX ne peut pas être lancée plus d'une fois .
@Jewelsea merci. Mais si je veux avoir des méthodes spéciales dans mon application (comme une méthode changeant la position de quelque chose à l'écran) que je veux être appelée à partir d'une autre fonction? (Parce que je ne peux pas appeler la méthode sur mon exemple créé)
Méthodes d'appel qui interagissent avec le graphique de la scène sur le thread d'applications Javafx une fois que la méthode de démarrage de l'application a été invoquée.