Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

JavaFX Scene Builder devient open source
Dans le cadre du projet OpenJFX

Le , par la.lune

49PARTAGES

1  0 
JavaFX Scene Builder devient open source, dans le cadre du projet OpenJFX
Pour Android et iOS les kits de développement sont également déjà publiés en open source

Sur la liste de diffusion du projet OpenJFX, Simon Vienot, directeur technique chez Oracle, vient d’annoncer le passage de JavaFX Scene Builder à l'open source. Il se sent satisfait de cette phase, en annonçant que l'ensemble des fonctionnalités de Scene Builder sont disponibles, y compris le Kit de l'API de Scene Builder (qui permet son intégration aux IDE) et l'application standalone Scene Builder.

À noter que la dernière version en date de JavaFX Scene Builder est la version 2.0, mais il s'agit une version bêta. La version stable actuelle est la version 1.1 .

Pour rappel, JavaFX est une technologie composée d'un ensemble de bibliothèques Java (depuis la version 2.0 de JavaFX), permettant la création d'application « client riche » (RIA). JavaFX est multiplateforme, fonctionnant sous Windows, Linux et Mac OS. Il se veut le successeur de Swing pour les applications standalone bureau, mais fonctionne aussi sur le web sous forme d'Applet, sur mobile et sur l'embarqué, notamment sur Raspberry Pi. Oracle a déjà rendu open source les kits de développement en JavaFX pour Android et iOS .

En effet, sur iOS, il est possible de développer des applications JavaFX avec OpenJFX via la machine virtuelle RoboVM, qui permet de créer des applications Java natives pour iOS. Retrouvez un bon tutoriel pour la création avec Eclipse et apprenez comment packager avec ce tutoriel utilisant iPack. À noter que RoboVM n'est pas la seule alternative.

De plus, pour Android, Oracle a aussi publié en open source les runtime pour le développement d'applications Android en JavaFX sous Linux et Mac OS, et la communauté a commencé à y travailler pour améliorer la stabilité et la maturité de la plateforme. Vous pouvez également commencer à développer et retrouver une démo publiée sur ce billet d'une application JavaFX tournant sous Android et manipulant le multipoint et les gestures.



JavaFX Scene Builder est, quant à lui, un outil de création et de design d'interface graphique JavaFX, en glissant et déposant, modifiant les propriétés et personnalisant les feuilles de style CSS.

Simon Vienot annonce également que la seule partie qui reste encore fermée est le code source pour le paquetage natif et l'installeur.

Nous soulignons de même que la version bêta de JavaFX 8 est déjà disponible et est une partie intégrante de JavaSE 8. Il apporte avec lui toutes les fonctionnalités de Java 8 notamment les expressions lambda et autres, et il ajoute le support 3D et plusieurs autres fonctionnalités.

Le code source du JavaFX Scene Builder 2.0
Si vous voulez contribuer, inscrivez-vous au mailing-list du projet

Et vous ?

Que pensez-vous de cette évolution de JavaFX ?

Avez-vous déjà commencé à développer avec JavaFX ?

Que pensez-vous de l'avenir de JavaFX ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Mr_Exal
Membre expert https://www.developpez.com
Le 05/12/2013 à 15:49
Citation Envoyé par la.lune Voir le message
Mais JavaFX n'est pas un frameworke, mais un ensemble de bibliothèque Java pour les UI client riche.

Mais tout reste qu'avec FXML et les contrôleurs, on arrive a faire du MVC. Il faut que vous concevez votre application à la pure MVC, c'est totalement faisable, et il y a même un exemple fourni lors du téléchargement de JavaFX, qui démontre comment faire du MVC avec facilement.

Et déjà avec les propriétés on voit bien l'aspect dynamique de l'UI.
C'est bien ce qu'on fait
1  0 
Avatar de cwidmer
Nouveau Candidat au Club https://www.developpez.com
Le 05/12/2013 à 16:40
pour ceux qui cherchent des exemples sur cette techno, un site utile : fxexperience.com
1  0 
Avatar de bouye
Rédacteur/Modérateur https://www.developpez.com
Le 05/12/2013 à 23:51
Je pense que ces soucis viennent du fait que la doc n'est pas encore suffisamment claire sur la manière de créer des composants customisés. Ainsi, de mon expérience personnelle, qu'on étende Region, Pane ou un autre layout, on ne sait pas trop quelle méthode des min, pref, max size est appelées de quelle manière dans quel layout et suivant si managed a ete mis a true ou false... les choses sont encore différentes si on étend Group.

De plus, comparé a d'autres frameworks sur d'autres plateformes (ex: mobiles), certains des layouts de base ne sont pas encore capable d'avoir des redimensionnements corrects avec des animation par défaut lors de redimensionnements ou de changement du contenu (contenu d'une liste ou d'un flow). Donc, il faut savoir coder a mano quand on détecte un redimensionnement et qu'on doit changer l'apparence de ce qui est affiché.

Mais bon, on s'y fait.

Enfin, bon si on utilise AnchorPane un peut partout pour ses sous-panneaux, avec les bonnes valeur d'ancres (ex: 0, 0, 0, 0 et laisser le CSS gérer le padding), ce que les gens oublient souvent de faire, y a pas de soucis, n'importe quelle UI créée avec SceneBuilder peut être redimensionnée correctement.
1  0 
Avatar de bouye
Rédacteur/Modérateur https://www.developpez.com
Le 07/12/2013 à 9:26
Ben, euh , l'ennui c'est qu'en fait on a besoin de rien binder du tout pour arriver au même résultat. Dans le cas d'un AnchorPane, il suffit de mettre les bonnes valeurs d'ancre et la même chose pour n'importe quel layout de base avec les bonnes static properties qui vont bien. Et le tout peut se faire sans soucis via SceneBuilder, il suffit de bien fouiller dans les panneaux latéraux (certains trucs se settent via le conteneur parent et d'autres via l'objet lui-même)..
1  0 
Avatar de bouye
Rédacteur/Modérateur https://www.developpez.com
Le 07/12/2013 à 14:34
Pas en CSS ; en FXML, dans SceneBuilder ou dans le code : les static properties c'est les truc du genre AnchorPane.setTopAnchor(node, value), VBox.setVGrow(node, priority), etc.

SceneBuilder a tous les écrans pour les configurer.

Et en FXML ca se fait sous la forme :

Code XML : Sélectionner tout
<MyNode AnchorPane.topAnchor="0" [...] />
Code XML : Sélectionner tout
<MyNode VBox.vGrow="ALWAYS" [...] />
1  0 
Avatar de Grom61736
Membre éprouvé https://www.developpez.com
Le 05/12/2013 à 11:06
Avez vous déjà commencé à développer avec JavaFX ?
Ouaip, je suis en train de le faire pour un client.
C'est pas mal, pratique d'utilisation car ca ne dépayse pas de Swing en terme d'utilisation.

Par contre, si on cherche sur Google, c'est pas toujours évident car on va tomber sur des topics parlant de JScrollPane et non pas le ScrollPane de JavaFX.

Quelque chose d'embétant quand même : certaines possibilités de Swing qu'on ne retrouve pas en JavaFX (du moins dans la version actuelle) :
- le setAlwaysOnTop
- les Dialog en tant que tel.

Pour SceneBuilder, c'est vraiment pratique mais pour des fenêtres de taille constante. ;-)

Mais le principal avantage de JavaFX c'est cette combinaison de FXML + CSS. Franchement pratique pour le développement des écrans.
1  1 
Avatar de la.lune
Membre chevronné https://www.developpez.com
Le 05/12/2013 à 13:11
Citation Envoyé par Grom61736 Voir le message

Par contre, si on cherche sur Google, c'est pas toujours évident car on va tomber sur des topics parlant de JScrollPane et non pas le ScrollPane de JavaFX.
La documentation de JavaFX est riche, mais en anglais,bon il suffit de bien spécifier, javafx après, il faut pas mêtre java, ou ajouter un J avant.
Un exemple de résultat qui tombe exactement sur ce qu'on veut sur google ScrollPane JavaFx,

Et pour éviter les topic sur JavaFX 1.x, il suffit d'ajouter d'écrire JavaFX 2.

Citation Envoyé par Grom61736 Voir le message

Certaines possibilités de Swing qu'on ne retrouve pas en JavaFX (du moins dans la version actuelle) :
- le setAlwaysOnTop
-les Dialog en tant que tel.
Pour le setAwaysOnTo tu peux jouer en utilisant toFront(), qui s'appliquent pour les Stage et existe pour tous les noeud sur la scene, son contraire c'est toBack().

Les dialogues oui, à la limite de la version stable utilisé actuellement, mais la version bêta de JavaFX 8 contient énormément de contrôles.

Citation Envoyé par Grom61736 Voir le message

Pour SceneBuilder, c'est vraiment pratique mais pour des fenêtres de taille constante.
Non, tu peux tout modifier, certes quand tu va concevoir, tu aura une fenêtre devant toi, mais ne croit pas que la taille doit rester constante , toute chose a ses propriétés, on peut modifier. Et à l’intérieur de la scène il faut choisir le bon panneau, qui viennent directement avec leur layout, qui va s'adapter à ton besoin. Tu peux faire ce que tu veux au goût de ta sauce.
0  0 
Avatar de Mr_Exal
Membre expert https://www.developpez.com
Le 05/12/2013 à 13:31
Avez vous déjà commencé à développer avec JavaFX ?
Ouaip, un ERP/CRM complet pour plusieurs clients.

Que pensez vous de l'avenir de JavaFX ?
Niveau développement c'est vraiment le pied, le mvc y'a rien de tel.
0  0 
Avatar de la.lune
Membre chevronné https://www.developpez.com
Le 05/12/2013 à 13:39
Citation Envoyé par Mr_Exal Voir le message
Ouaip, un ERP/CRM le mvc y'a rien de tel.
Mais JavaFX n'est pas un frameworke, mais un ensemble de bibliothèque Java pour les UI client riche.

Mais tout reste qu'avec FXML et les contrôleurs, on arrive a faire du MVC. Il faut que vous concevez votre application à la pure MVC, c'est totalement faisable, et il y a même un exemple fourni lors du téléchargement de JavaFX, qui démontre comment faire du MVC avec facilement.

Et déjà avec les propriétés on voit bien l'aspect dynamique de l'UI.
0  0 
Avatar de la.lune
Membre chevronné https://www.developpez.com
Le 05/12/2013 à 21:06
Il faut savoir que pour la fenêtre principale, par défaut le root est un Anchor Pane, alors quelque soit la chose que tu va faire, pour forcer au contenu de prendre toute l'espace restante en fonction de la tailles, il ne va pas le faire.

Et si tu insère un Stake Pane dessus, si tu insère un autre pane il prendra toute l'espace en fonction de la taille, mais le tout va se jouer sur le Stake Pane, mais le Stake Pane lui même ne va pas prendre toute l'espace restante du Anchor Pane root s'il change de taille.

Alors la solution?
C'est simple il suffit de créer avec Scene Builder une nouvelle scène avec comme root, non pas avec Anchor Pane mais un Stake Pane.

Pour le faire avec Scene Builder:
File->New with Root Container->Stake Pane

Il y a trois possibilité: Anchor Pane, Border Pane et Stake Pane.

Tout Pane, tout élément de la catégorie Containers sauf Tool Bar et tous les contrôles à caractère de conteneur, ou Charts que tu va inséré dessus, tu n'aura même pas besoin de jouer sur la taille, il va prendre toute l'espace du Stake Pane, ainsi si tu redimensionne la fenêtre, le contenu va se redimensionner aussi, il va prendre toute l'espace, le reste des noeds si tu insère directement, ils seront obligatoirement rangé au centre.
0  0