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 :

Java 8 apporte aussi des nouveautés du côté de Java FX, venez découvrir les améliorations de JavaFX 8


Sujet :

JavaFX

  1. #1
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 948
    Points
    72 948
    Par défaut Java 8 apporte aussi des nouveautés du côté de Java FX, venez découvrir les améliorations de JavaFX 8
    Java 8 est sortie le 18 mars dernier. Avec cette nouvelle mouture, nous avons pu voir d'importantes nouveautés au sein de la discussion Java 8 est disponible, la plate-forme se met aux expressions lambdas, tour d'horizon des nouveautés. Celles-ci concernaient aussi bien le langage, son API ou encore la machine virtuelle.

    Intéressons-nous maintenant à l'aspect interface graphique. Si AWT, Swing ou encore Java2D n'ont pas subi de grosses évolutions en dehors de correctifs de bug, JavaFX dispose de nombreuses nouveautés. La première concerne un alignement des versions : adieu JavaFX 2.x, place à JavaFX 8.

    Voici quelques autres nouveautés plus en détails :

    Les nouveautés de l'API

    • Texte riche : possibilité d'ajouter des styles et des effets aux textes via la classe TextFlow


    Chaque mot, espace compris, est affiché via une instance de Text, chacune avec son style CSS propre. Le contrôle parent TextFlow fait automatiquement la mise en page correcte. Ici, le contrôle est configuré pour afficher un paragraphe justifié.

    • Support de Swing : cette fonctionnalité disponible dans JavaFX 1.x et qui permet d'inclure des composants Swing dans une interface à base de contrôles JavaFX, n'avait pas été retenue dans la version 2
    • Skin : son API est désormais totalement publique
    • Gestion de l'impression : plus besoin de passer par AWT ou Swing pour gérer l'impression, ceci causait des problèmes sur MacOS, car JavaFX provoquait le plantage de Swing.
    • Les améliorations WebView : support de WebWockets et WebWorker
    • Retraits des builders de l'API : ils sont dépréciés et seront supprimés dans Java 9
    • Communication AWT/Swing et JavaFX : il devient possible via la ligne de commande de faire que l'EDT (Thread d'affichage et de propagation des événements) de AWT/Swing et le JavaFX Application Thread de JavaFX se fondent en un seul thread. Cette fonctionnalité rend ainsi les dialogues entre les différents composants plus aisés à développer (plus besoin alors de SwingUtilities.invokeLater() et Platform.runLater()).


    Les nouveautés concernant le CSS

    • Nouvelle API : celle-ci permet de définir des propriétés directement dans votre code Java
    • Thème Modena : le CSS de base Caspian est remplacé par Modena


    Caspian à gauche remplacé par Modena à droite.

    Les nouveautés graphiques

    • Des nouveaux composants graphiques : ajout d'un DatePicker (calendrier) et d'un TreeTableView (tableau dont la première colonne contient un arbre). Nous regretterons le manque d'un Spinner et d'un FormattedTextField.


    Composant TreeTableView permettant d'afficher une table dont la première colonne est un arbre.

    • Gestion de la 3D : avec l'arrivée des primitives 3D, le support des meshes (pour importer des fichiers créés dans des applications externes), les textures, la gestion de l'éclairage la possibilité de rendre des sous-parties d'une scène ou encore de déplacer la caméra, l'on peut donc dire que la 3D est vraiment utilisable au sein de JavaFX.


    Box avec rendu fil de fer, Sphere avec rendu ambiant, Cylinder avec rendu spéculaire. Les contrôles 2D peuvent également être positionnés et transformés dans l'espace 3D. Le support de l’anticrénelage a été activé sur la scène.

    En complément, le JAR de runtime de JavaFX est désormais dans le répertoire lib/ext du JRE (mécanisme des extensions) et donc toujours sur le ClassPath. Nous pouvons également préciser que JavaFX fait partie du profil embedded (sans WebView ou le support Media). Cette fonctionnalité sera donc disponible dans les JVM pour les Raspberry Pi et autres. Prévu pour cette release, le support de l'enregistrement des Media devrait venir dans une mise à jour ultérieure.

    Rappelons également que le passage à l'OpenSource est terminé depuis la fin de l'année 2013.

    Comme vous pouvez le voir, JavaFX présente de nombreuses nouveautés. Pour plus de détails, n'hésitez pas à aller sur :


    Et vous ?
    • Que pensez vous des nouveautés de JavaFX 8 ?
    • Utilisez-vous JavaFX ? Si oui, pensez-vous migrer vers cette nouvelle version ?
    • Pensez-vous qu'une nouvelle boîte à outils sur Desktop a encore sa place ?


    L'équipe Java
    Images attachées Images attachées     

  2. #2
    Membre régulier Avatar de Caranille
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2013
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2013
    Messages : 117
    Points : 70
    Points
    70
    Par défaut Java 8 que du bon
    Bonjour,

    Ayant programmé avec le C#.NET de Microsoft et ses WinForm et WPF je penses que JAVA FX apporte enfin ce dont ont reprochais longtemps à Java, à savoir des interfaces graphique agréable visuellement. Car le Swing et AWT ça pique les yeux avec ses couleurs à la limite du 8 bits.

    Pour moi les applications lourde ont encore un avenir car bon les logiciels entièrement web c'est bien mais quand il y a une panne de réseau on peut rentrer chez soit

    Cordialement, Jérémy

  3. #3
    Membre du Club
    Profil pro
    Responsable Technique
    Inscrit en
    Janvier 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Responsable Technique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 20
    Points : 60
    Points
    60
    Par défaut Problème dans l'article
    Les image ne s'affiche pas si on n'est pas loguer !

  4. #4
    Membre du Club
    Profil pro
    Responsable Technique
    Inscrit en
    Janvier 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Responsable Technique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 20
    Points : 60
    Points
    60
    Par défaut Plus d'info sur les buider d'API
    Peut'on avoir plus d'information sur :
    -Retraits des builders de l'API Builder

  5. #5
    Membre expert

    Développeur NTIC
    Inscrit en
    Janvier 2011
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations professionnelles :
    Activité : Développeur NTIC
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 670
    Points : 3 942
    Points
    3 942
    Par défaut
    Citation Envoyé par Caranille Voir le message
    Bonjour,

    Ayant programmé avec le C#.NET de Microsoft et ses WinForm et WPF je penses que JAVA FX apporte enfin ce dont ont reprochais longtemps à Java, à savoir des interfaces graphique agréable visuellement. Car le Swing et AWT ça pique les yeux avec ses couleurs à la limite du 8 bits.

    Pour moi les applications lourde ont encore un avenir car bon les logiciels entièrement web c'est bien mais quand il y a une panne de réseau on peut rentrer chez soit

    Cordialement, Jérémy
    Bonjour, on peut également faire des applications full web en JavaFX.



    Que pensez vous des nouveautés de JavaFX 8 ?
    Que du bon! L'impression qui se fait en 3 lignes de code c'est vraiment le pied.

    Utilisez-vous JavaFX ? Si oui, pensez-vous migrer vers cette nouvelle version ?
    Oui, pour un ERP/CRM maison, n'ayant pas trouvé ce qu'il nous fallait dans le commerce. Je pense qu'on migrera bientôt rien que pour l'impression par exemple.
    D'ailleurs pour les personnes qui voudraient migrer : http://admedfx.blogspot.co.nz/

    Pensez-vous qu'une nouvelle boîte à outils sur Desktop a encore sa place ?
    Bien sûr que oui ! Il y aura toujours des applications lourdes et du SaaS ou de l'hybride.

  6. #6
    Membre chevronné
    Avatar de la.lune
    Homme Profil pro
    Directeur Technique
    Inscrit en
    Décembre 2010
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Directeur Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 545
    Points : 2 084
    Points
    2 084
    Par défaut
    C'est ce qui manquait sur Devp, la news sur les nouveautés, mais on a eu déjà à tester même la version beta de JavaFX8 avant même la sortie de java8.
    Je tiens à souligner aussi que la rubrique JavaFX est supprimé sur le site d'Oracle pour montrer l’alignement de javaFx8 avec java8. Maintenant JavaFX est une partie intégrante du standard Java SE 8. Ce qui apporte un package de base de plus au JDK à côté des API java et javax, on a javafx
    Swing et JavaFX sont au même pied d'égalité sous la rubrique "Client Technologies" de la documentation officielle de Java Standard Edition 8.

    Citation Envoyé par Mickael Baron Voir le message

    • Thème Modena : le CSS de base Caspian est remplacé par Modena
    A noté que ce celui est intéressé par le bon vieux style Caspian, que ce style existe encore dans le jdk il suffit de faire son appel. Même SceneBuilder permet de basculer vers l'ancien style

  7. #7
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 860
    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 860
    Points : 22 900
    Points
    22 900
    Billets dans le blog
    51
    Par défaut
    Citation Envoyé par behel Voir le message
    Peut'on avoir plus d'information sur :
    -Retraits des builders de l'API Builder
    Les builder sont deprecated dans le JDK 8 et ne devraient etre retires qu'a partir du JDK 9 :

    Le code suivant qui compile sans soucis avec JavaFX 2.x sous JDK 6 ou 7 lancera donc un warning dans JDK 8 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Button button = ButtonBuilder.create().text("Salut !").build();
    Il faudra donc remplacer un tel code par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Button button = new Button();
    button.setText("Salut !")
    Voir : Proposal: Deprecate Builders par Richard Bair.
    Deux raisons sont invoquées pour un tel changement :

    • L'implementation JavaFX 2.x des builder reposent sur deux bugs dans la gestion des generics du JDK 6 et 7. Or ces bugs ont ete corriges dans le JDK 8 ce qui fait que les builders ne fonctionnent pas "correctement" (dans certains cas).
    • Les builders rajoutent beaucoup de classes et leur utilisation requiert un espace mémoire supplémentaires. Les retirer permet d'avoir des profils et des usages mémoires plus restreints sur les profil embeded et les JVM mobiles.


    Ceci dit, tous les builders ne sont pas retirés pour autant, certains comme les divers adaptateurs qui permettent de mapper des propriétés Java Beans en propriété JavaFX restent. Les builders des nœuds graphiques sont tous deprecated par contre il me semble.

    Perso ça me gène un peu car je trouvait la syntaxe plus concise et plus élégante, encore plus si on utilisait un langage fonctionnel. Mais bon, c'est comme ca.

  8. #8
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 860
    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 860
    Points : 22 900
    Points
    22 900
    Billets dans le blog
    51
    Par défaut
    Citation Envoyé par la.lune Voir le message
    A noté que ce celui est intéressé par le bon vieux style Caspian, que ce style existe encore dans le jdk(comme vous savez que le SDK propre de javafx est mort) il suffit de faire son appel. Même SceneBuilder permet de basculer vers l'ancien style
    Il est en effet possible de spécifier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setUserAgentStylesheet(STYLESHEET_CASPIAN);
    Dans le code de la classe héritant d'Application.

    Je n'ai pas trop joue avec Caspian dans le JDK 8 donc je ne sais pas si les skins des contrôles sont les mêmes que celles sous JavaFX 2.2 ou si c'est juste des skins JDK 8 qui ont le look Caspian.

    Pour rappel : les skins JDK 8 sous Modena peuvent avoir des agencement de parties internes différentes (notamment la skin de ScrollPane contient plus de nœuds interne, ce qui impacte du coup TextArea, etc...) et donc oblige a modifier les CSS des apps existantes.

  9. #9
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 860
    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 860
    Points : 22 900
    Points
    22 900
    Billets dans le blog
    51
    Par défaut
    Le JDK 8 u5 est disponible depuis le 15 avril. Cette mise à jour ne contient que des correctifs liés à la sécurité.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/10/2017, 12h59
  2. Réponses: 6
    Dernier message: 14/12/2009, 13h49
  3. Présentation des nouveautés de Java 5.0 Tiger (J2SE 1.5)
    Par christopheJ dans le forum Langage
    Réponses: 43
    Dernier message: 30/09/2007, 17h38

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