Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Problème affichage image dans fichier .jar éxécutable
    Bonjour, j'ai fini de créer un petit projet réalisé en une soirée qui est un pierre feuille ciseaux graphique en utilisant javafx, cependant quand j'exporte le projet dans mon bureau et que je le lance, l'image qui correspond au fond écran du jeux ne s'affiche pas, j'ai regardé plusieurs forum sur le même type de problème mais je ne comprends pas trés bien, pouvez vous m'aider svp merci, voici une partie de mon code dans laquelle je vous montre comment je créer l'image :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    			Image g1 = new Image("file:fond.jpg");
    			ImageView iVp = new ImageView(g1);
    			iVp.setLayoutX(0);
    			iVp.setFitWidth(850);
    			iVp.setFitHeight(650);
     
                            root.getChildren().addAll(iVp, quit, niv1, niv2, niv3, pierre, feuille, ciseaux, retour, p, g, perdu,
    					pierre1, feuille1, ciseaux1, pierre2, feuille2, ciseaux2, c, c1, c2);
     
    			primaryStage.setScene(scene);
    			primaryStage.show();
    			primaryStage.setResizable(false);
    			primaryStage.setTitle("Pierre_Feuille_Ciseaux by ikky33");

  2. #2
    Rédacteur/Modérateur

    Ca ne va pas fonctionner dans un JAR. Pour accéder a une ressources dans un JAR il faut utiliser getClass().getResource() en passant en parametre le chemin relatif ou absolu vers la ressources.
    Si l'URL retournée par cet appel est non-null, tu peux alors invoquer toExternalForm() ou openStream() dessus et construire ton Image.
    Si l'URL retournée par cet appel est null, c'est soit que le chemin n'est pas correct, soit que la ressource n'est pas dans le JAR.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre à l'essai
    Bonjour, merci de m'avoir répondu, je comprends l'idée mais je ne sais pas comment faire le code.merci

  4. #4
    Rédacteur/Modérateur

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    final var url = getClass().getResource(<chemin relatif ou absolu vers la ressource image>); // ex : "mon/package/image.jpg"
    if (Objects.isNull(url)) {
       // Erreur : chemin non valide ou fichier pas dans le JAR.
    }
    final var image = new Image(url.toExternalForm());
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

###raw>template_hook.ano_emploi###