IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

JavaFX Discussion :

Problème de version JavaFX API et JavaFX runtime


Sujet :

JavaFX

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur process
    Inscrit en
    Mars 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur process
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 17
    Par défaut Problème de version JavaFX API et JavaFX runtime
    Bonjour,

    Je me forme à Java et à JavaFX.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    import java.io.IOException;
     
    import javafx.application.Application;
    import javafx.fxml.FXMLLoader;
    import javafx.scene.Scene;
    import javafx.scene.layout.AnchorPane;
    import javafx.scene.layout.BorderPane;
    import javafx.stage.Stage;
     
    public class MainClass extends Application {
     
    	private Stage stagePrincipal;
    	private BorderPane conteneurPrincipal;
     
    	@Override
    	public void start(Stage primaryStage) {
    		stagePrincipal = primaryStage;
    		stagePrincipal.setTitle("Application de gestion de personnes");
     
    		initialisationConteneurPrincipal();
    		initialisationContenu();
    	}
     
    	private void initialisationConteneurPrincipal() {
    		FXMLLoader loader = new FXMLLoader();
    		loader.setLocation(MainClass.class.getResource("view/ConteneurPrincipal.fxml"));
    		try {
    			conteneurPrincipal = (BorderPane)loader.load();
    			Scene scene = new Scene(conteneurPrincipal);
    			stagePrincipal.setScene(scene);
    			stagePrincipal.show();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
     
    	private void initialisationContenu() {
    		FXMLLoader loader = new FXMLLoader();
    		loader.setLocation(MainClass.class.getResource("view/PersonView.fxml"));
    		try {
    			AnchorPane conteneurPersonne = (AnchorPane)loader.load();
    			conteneurPrincipal.setCenter(conteneurPersonne);
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
     
    	public static void main(String[] args) {
    		launch(args);
    	}
    }
    En lançant mon programme, j'obtiens les erreurs suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    janv. 07, 2020 8:47:22 PM javafx.fxml.FXMLLoader$ValueElement processValue
    WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 8.0.211
    janv. 07, 2020 8:47:22 PM javafx.fxml.FXMLLoader$ValueElement processValue
    WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 8.0.211
    Je ne sais pas si ce sont des exceptions ou juste des avertissements (Warning) ? Au lancement, la fenêtre s'affiche souhaitée s'affiche (pas toujours à la bonne dimension) donc le code semble fonctionner.

    Cela me semble être un problème de version mais je ne le comprends pas.

    En regardant sur Internet, j'ai vu que l'on peut afficher des versions de Java et JavaFX comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    System.out.println("java version : " + System.getProperty("java.version"));
    System.out.println("javafx version : " + System.getProperty("javafx.version"));
    Cela me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java version : 1.8.0_211
    javafx version : 8.0.211
    Ça me semble donc être les mêmes.

    Quelqu'un peut-il me dire quelles sont ces erreurs ? et comment je peux les corriger s'il vous plaît ?

    Pour info, je suis sur le JRE 1.8.0_211. J'utilise Eclipse en version 2019-03 (4.11.0) et JavaFX SceneBuiled 11.0.0. J'ai aussi le JDK 11.0.2 mais je ne l'utilise pas ici.
    Je suis sous Windows 10 en 64 bits (je ne sais pas si ça a une importance).

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Ce sont des warnings liés à la version de la DTD/du schéma du FXML qui est écrite dans l'entête du fichier FXML. Tu peux l'éditer dans ton IDE (c'est juste un fichier XML) et corriger cela pour éviter ces warnings.

    EDIT - et comme tu utilises SceneBuilder 11 ben il remettra sans doute la version plus élevée à chaque sauvegarde du fichier.
    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 éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    961
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 961
    Par défaut
    Vous pourriez aussi installer Scene Builder 8 pour ne plus avoir de problème de compatibilité.

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur process
    Inscrit en
    Mars 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur process
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 17
    Par défaut
    Bonsoir, et merci pour vos réponses.

    Par contre Bouye, je n'ai pas bien compris ce que tu dis là :
    Citation Envoyé par bouye Voir le message
    Ce sont des warnings liés à la version de la DTD/du schéma du FXML qui est écrite dans l'entête du fichier FXML. Tu peux l'éditer dans ton IDE (c'est juste un fichier XML) et corriger cela pour éviter ces warnings.
    Qu'est-ce que "la version de la DTD/du schéma du FXML" ?

    J'ai trouvé ça en ouvrant dans Eclipse l'un des fichiers FXML :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="UTF-8"?>
     
    <?import javafx.scene.control.Menu?>
    <?import javafx.scene.control.MenuBar?>
    <?import javafx.scene.control.MenuItem?>
    <?import javafx.scene.layout.BorderPane?>
     
    <BorderPane prefHeight="200.0" prefWidth="500.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
    (...)

    J'ai changé "http://javafx.com/javafx/11.0.1" par "http://javafx.com/javafx/8.0.1" et ça ne met plus le message d'erreur. Est-ce ça que tu voulais me dire quand tu parlais de "l'éditer dans l'IDE" ? Est-ce que ça solde bien le problème ?

    Autre question que je me pose : est-ce que ces warnings posent vraiment un problème pour le lancement du programme ou pas ? ou est-ce juste un avertissement sans conséquence ?

    BugFactory, quand vous dites :
    Citation Envoyé par BugFactory Voir le message
    Vous pourriez aussi installer Scene Builder 8 pour ne plus avoir de problème de compatibilité.
    est-ce qu'il faut alors désinstaller SceneBuilder 11 ou peut-on choisir quelle version utiliser ? et dans ce cas, comment ?

    Y a-t-il une "meilleure" solution parmi ces deux-là ? une solution qui risque de moins poser de problème, qui soit plus propre ?

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Tu as toi-meme repondu a ta question et une recherche google sur "xmlns" te donnera plus d'information. Pour être précis c'est en rapport avec l'espace de nommage du document, plutot que sa DTD/son schema.

    C'etait un waning pas une erreur, y a pas mort d'homme.
    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

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur process
    Inscrit en
    Mars 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur process
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 17
    Par défaut
    Bonjour.
    OK, merci pour ta réponse. J'ai cherché peu autour de xmlns, et effectivement ça semble être un attribut utilisé pour des espaces de nommage en xml. Mais comme je ne connais pas xml, ça reste très flou.
    Du coup, comme le fait d'avoir juste changé la version dans l'attribut xmlns en éditant l'IDE me permet de ne plus avoir de message d'erreur, je me dis que ce n'est pas la peine pour l'instant de changer de version de SceneBuilder (je garde l'idée en tête si besoin).

    Je passe le sujet en résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/09/2019, 01h06
  2. Problème avec CalendarFx JavaFx
    Par Prepa1 dans le forum JavaFX
    Réponses: 2
    Dernier message: 25/05/2017, 00h49
  3. Réponses: 5
    Dernier message: 05/05/2014, 12h14
  4. Informations JavaFX Runtime
    Par xixi22 dans le forum JavaFX
    Réponses: 7
    Dernier message: 06/03/2011, 22h08
  5. Réponses: 7
    Dernier message: 09/12/2009, 09h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo