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 habitué
    Développement d'un client en JavaFX : mise en place de l'environnement de travail (partie 1)
    Bonjour,

    Je vous propose une série d'articles traitant du développement d'un client desktop en JavaFX.

    Voici le plan :
    • mise en place de l'environnement de développement et génération d'une première fenêtre
    • communication entre composants graphiques et personnalisation de l'interface
    • packaging et déploiement de l'application


    L'URL du tutoriel : https://gerald-colin.developpez.com/tutoriels/javafx/developpement-client-environnement/

    N'hésitez pas à laisser vos commentaires ici.

    Gérald

  2. #2
    Membre averti
    Merci pour cet article très intéressant qui met en lumière JavaFx dont on parle assez peu depuis un moment.
    Toutefois, une des difficultés du déploiement de javafx consiste à son installation dans l'IDE, car depuis Java9 je crois, javafx est un module à part du JDK. Il faut donc non seulement l'intégrer en tant que librairie dans l'IDE (Eclipse, jetbrain ou netbeans) mais aussi passer un argument à la machine virtuelle dans le 'run configuration'. Les procédures pour chaque IDE sont très bien décrites sur le site de Gluon. Il reste toutefois encore à trouver et renseigner les adresses de la javadoc pour profiter pleinement de l'environnement. Tout cela est assez fastidieux finalement.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué
    Merci pour le commentaire et je suis d'accord que JavaFX n'est pas assez mis en avant alors que c'est une solution technique pour des interfaces graphiques tout à fait valable et cross-plateforme.

    Pour les versions, il y a une période de transition un peu pénible. Cet article est justement en Oracle JDK 8 puisque c'est le dernier à avoir JavaFX intégré. A partir du JDK 9 il faut aussi ajouter OpenJFX mais je conseillerai de le faire avec les versions 11 et d'éviter les versions intermédiaires. Je souhaite décrire le passage à la v11 (ou plus) dans un prochain article.

  4. #4
    Rédacteur/Modérateur

    J'ai aussi eut des différences de comportement (IDE : IDEA et NetBeans) entre JavaFX 11, 12 et 13 (chacun associé à son JDK de la même version) lorsque l'IDE essaie de trouver la partie native de JavaFX (le fameux message qui dit que les runtimes ne sont pas présents*). Je conseille de rajouter au moins une partie concernant JDK 11 + JavaFX 11 puisque c'est la version avec support de longue durée mais aussi de traiter la version la plus récente JDK 13 + JavaFX 13 (au moment où j'écris ça) si jamais tu vois des comportements différents dans Eclipse par rapport à la version 11.

    *Au final ca arrive surtout quand on fait des applications non-modulaires. Dès la déclaration de module ces erreurs disparaissent. A noter que j'utilise ni Eclipse, ni Maven, ni Gradle, ni les jmods.
    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

  5. #5
    Membre régulier
    un grand merci

  6. #6
    Membre chevronné
    Merci pour cet article bon, ça permet de découvrir quelques nouveautés comme le framework JFoenix qui était méconnu pour moi et pourtant c'est trop beau.
    J'aurais aimé que des liens vers de vrai demo soient intégré mais j'ai les liens renvoient au dépôt GitHub. Mais après quelques recherches sur Youtube c'est là où j'ai vu que c'est vraiment intéressant, des look qu'on ne peut jamais avoir avec une application web.



  7. #7
    Membre régulier
    Sympa le tutoriel.
    Je suis passé récemment de swing à JAVAFX en utilisant le FXML.
    J'utilise l'IDE éclipsé et niveau de l'auto-completion c'est un peut la misère .
    Même ça mise en place dans l'IDE est vachement lourd depuis qu'il n'est plus supporté par oracle.
    C'est simple les deux dernières versions de l'IDE (à l'heure où j’écris) ne la prend même pas en compte.
    Sinon je trouve que ce langage à encore quelques défaut et quand on désire générer des parties de fenêtre dynamiquement il y a mieux comme pour la binding comparer à d'autres langages.
    Mais avec des chances de chance la communauté le fera évoluer dans le bon sens .

  8. #8
    Nouveau membre du Club
    Bonsoir, j'ai commencé à suivre la partie 2 mais je trouve que dans cette partie, vous n'indiquez pas comment fonctionne la partie about.
    Je n'ai pas le code de la classe dialoghelper et je ne sais pas trop ce qu'elle doit contenir pour commencer à la mettre en place.
    De plus, ma classe App est dans le package par défaut et donc inaccessible en l'état.
    Pour ce point, je vais modifier mon programme.
    Avez-vous prévu de fournir plus d'explication pour la partie about ?

    Cdlt,
    Guiblan

  9. #9
    Membre habitué
    Bonjour,

    Je vous remercie pour votre retour. La partie 2 n'est pas encore finalisée et est en cours de relecture et validation par les équipes de DVP.
    Pour ne pas surchager l'article avec trop de code, le helper est disponible que sur le repo mais suite à vos remarques je le remet dans l'article pour une meilleure compréhension.
    Par contre je ne vois pas votre point sur la classe App. Qu'entendez vous par package par defaut?

    Cdt

  10. #10
    Membre éprouvé
    Bonjour et merci pour ce tutoriel.
    Sauf erreur de ma part, la partie 1 n'est plus disponible. L'URL donnée dans l'introduction renvoie vers la partie 2. De plus, je ne vois pas le lien non plus sur https://gerald-colin.developpez.com/. Est-elle encore disponible?

  11. #11
    Rédacteur/Modérateur

    Effectivement @gecol1 tu as peut-être écrasé l'article partie 1 en pushant les dernières versions de l'article partie 2.
    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

  12. #12
    Membre habitué
    Bonjour,

    Je suis désolé mais j'ai effectivement écrasé la partie 1 avec la 2. Cela est rétabli. La partie 2 est en cours de relecture et n'est donc pas officielement publiée.
    Merci pour vos retours.

###raw>template_hook.ano_emploi###