Avec la sortie de JDK 11 en 2018, Oracle a fait de JavaFX une partie d' OpenJDK dans le cadre du projet OpenJFX , afin d'accélérer son développement.
Le logiciel libre JavaFXPorts fonctionne sur Android et iOS (iPhone et iPad). Le logiciel commercial associé, créé sous le nom de « Gluon », prend en charge les mêmes plateformes mobiles et propose des fonctionnalités supplémentaires, ainsi qu'une version pour ordinateur. Ceci permet de développer des applications pour ordinateurs, appareils Android et iOS à partir d'une seule base de code source.
des API spécifiques aux ordinateurs ou aux appareils mobiles. Par exemple, le profil JavaFX pour ordinateurs de bureau inclut Swing et des effets visuels avancés. JavaFX place tous ses symboles dans l'espace de noms `javaFX`javafx.Pour l'utilisateur final, la fonctionnalité « Glisser-déposer pour installer » permet de glisser un widget JavaFX (une application hébergée sur un site web) et de le déposer sur son bureau. L'application conserve son état et son contexte même après la fermeture du navigateur. Il est également possible de la relancer en cliquant sur un raccourci créé automatiquement sur le bureau de l'utilisateur. Ce comportement est intégré au mécanisme des applets Java depuis la mise à jour Java 6u10 et est exploité par JavaFX depuis la couche Java sous-jacente. Sun présente « Glisser-déposer pour installer » comme l'ouverture d'un nouveau modèle de distribution et la possibilité pour les développeurs de s'affranchir du navigateur.
JavaFX 1.x incluait un ensemble de modules d'extension pour Adobe Photoshop et Illustrator permettant d'intégrer directement des graphismes avancés dans les applications JavaFX. Ces modules génèrent du code JavaFX Script qui préserve les calques et la structure des graphismes. Les développeurs peuvent ensuite ajouter des animations ou des effets aux graphismes statiques importés. Un outil de conversion de graphismes SVG (également connu sous le nom de Media Factory) permettait également d'importer des graphismes et de prévisualiser les ressources après leur conversion au format JavaFX.
Avant la version 2.0 de JavaFX, les développeurs utilisaient un langage déclaratif statiquement typé appelé JavaFX Script pour créer des applications JavaFX. Comme JavaFX Script était compilé en bytecode Java , les programmeurs pouvaient également utiliser du code Java . Les applications JavaFX antérieures à la version 2.0 pouvaient s'exécuter sur n'importe quel ordinateur capable d'exécuter Java SE , tout comme c'est le cas avec les versions actuelles.
JavaFX 2.0 et versions ultérieures sont implémentés sous forme de bibliothèque Java, et les applications utilisant JavaFX sont écrites en code Java standard. Le langage de script a été abandonné par Oracle, mais son développement s'est poursuivi pendant quelques années dans le cadre du projet Visage, pour finalement s'achever en 2013.
Sun Microsystems a acquis la licence d'une police de caractères personnalisée appelée Amble pour une utilisation sur les appareils fonctionnant sous JavaFX. Cette famille de polices a été conçue par d'interfaces utilisateur mobiles , et est disponible dans la version 1.3 du kit de développement logiciel (SDK) JavaFX.WebView , le composant de navigateur Web intégré , utilise le moteur de navigateur WebKit . Il prend en charge les fonctionnalités HTML5 habituelles telles que les balises canvas, media, meter, progress, details et summary, ainsi que MathML, SVG, JavaScript et CSS. La prise en charge de WebAssembly n'est pas activée.
3D
Depuis JavaFX 8, JavaFX dispose de fonctionnalités 3D, telles que l'éclairage dynamique, les formes de base, les maillages, le mappage de textures, etc. Ces composants peuvent être intégrés dans des scènes et des sous-scènes.
JavaFX Mobile
Plateforme d'application indépendante construite sur Java, JavaFX Mobile est capable de fonctionner sur plusieurs systèmes d'exploitation mobiles, notamment Android , Windows Mobile et des systèmes d'exploitation propriétaires en temps réel .
JavaFX Mobile a été rendu public dans le cadre de la version JavaFX 1.1 annoncée par Sun Microsystems le 12 février 2009.
Sun prévoyait d'intégrer nativement JavaFX à ses appareils en collaborant avec les fabricants de combinés et les opérateurs mobiles pour préinstaller l'environnement d'exécution JavaFX Mobile. Une démonstration de JavaFX Mobile sous Android a été présentée à JavaOne 2008 et des partenariats ciblés (notamment avec LG Electronics et Sony Ericsson ) ont été annoncés lors du lancement de JavaFX Mobile en février 2009.
Exemple
Pour lancer une application JavaFX, la classe principale étend javafx.application.Applicationet main()appelle Application::launchqui appelle en interne Application::start, qui est surchargée par la classe principale et sert de point d'entrée de l'application elle-même.
paquet org.wikipedia.examples ;import javafx.application.Application ; import javafx.scene.Scene ; import javafx.scene.control.Button ; import javafx.scene.layout.StackPane ; import javafx.stage.Stage ;public class JavaFXExample extends Application { @Override public void start ( Stage primaryStage ) { Button button = new Button ( "Cliquez ici !" ); button . setOnAction ( e -> System . out . println ( "Bonjour de JavaFX !" ));StackPane racine = new StackPane ( bouton ); Scene scène = new Scene ( racine , 300 , 200 );primaryStage.setTitle ( " Exemple JavaFX " ) ; primaryStage.setScene ( scene ) ; primaryStage.show ( ) ; }public static void main ( String [] args ) { launch ( args ); } }
Composants
La plateforme JavaFX comprend les composants suivants :
- Le kit de développement logiciel ( SDK) JavaFX : comprenant notamment des éléments graphiques, des services multimédias, des bibliothèques de texte enrichi et la vue Web.
- NetBeans IDE pour JavaFX : NetBeans propose une palette glisser-déposer pour ajouter des objets avec transformations, effets et animations, ainsi qu’un ensemble d’exemples et de bonnes pratiques. Pour les utilisateurs d’Eclipse, un plugin communautaire est disponible sur e(fx)clipse.
- JavaFX Scene Builder : introduit avec JavaFX 2.1 et versions ultérieures, cet outil permet de créer une interface utilisateur (IU) par glisser-déposer de contrôles depuis une palette. La mise en page est enregistrée dans un fichier FXML, un format XML spécifique.
Modules
JavaFX est divisé en modules comme suit :
| Nom | Description |
|---|---|
Swing pour le kit d'outils d'interface utilisateur JavaFX. | |
JavaScript . | |
Java 8 (publié le 18 mars 2014) et a la même numérotation, c'est-à-dire JavaFX 8. |
