Si vous êtes un programmeur Java expérimenté, vous avez sans aucun doute travaillé avec Swing pour créer des interfaces utilisateur. Oracle n’a pas complètement abandonné l’oscillation – il n’est pas en désuétude et les applications balançoires continuent de travailler. Mais cela ne fonctionne pas plus pour améliorer le swing, et Oracle a clairement précisé que JavaFX est l’avenir.
Voici dix différences de base entre JavaFX et Swing.
à JavaFx, tous Le monde est un scénario
in Swing, la classe contenant les composants de l’interface utilisateur est appelée cadre et défini par la classe JFrame. Une parcelle est essentiellement une fenêtre vide à laquelle un panneau peut être ajouté, qui sert de conteneur pour les éléments d’interface utilisateur. Un panneau est défini par la classe jpannel.
Une application Swing est en fait une classe qui élargit la classe Jframe. Pour afficher les composants d’interface utilisateur, ajoutez des composants à un JPanel, puis ajoutez le panneau au cadre.
Javafx utilise la métaphore d’un théâtre pour modéliser des conteneurs de haut niveau d’une application. Un scénario (défini par le scénario de classe) représente le conteneur de niveau le plus élevé – généralement une fenêtre, mais dans certains systèmes d’exploitation, la scène peut représenter toute la surface de l’écran. Les commandes individuelles et autres composants formant l’interface utilisateur sont contenus dans une scène (définie par la scène de classe). Une application peut avoir plus d’une scène, mais une seule des scènes peut être affichée sur scène à un moment donné.
Une scène contient une scène graphique, qui est le concept le plus important de JavaFx. Le graphique de la scène est une collection de tous les éléments qui constituent une interface utilisateur – groupes, conceptions, contrôles et formes. Ces objets sont appelés nœuds et sont tous dérivés du nœud de classe. Le nœud de classe a de nombreuses fonctionnalités et capacités utiles qui sont automatiquement effectuées pour tout objet que vous pouvez ajouter à votre interface utilisateur. Par exemple, le nœud de classe définit une méthode de réglage qui lui permet de faire pivoter tout nœud sur le scénario graphique.
dans JavaFX, les contrôleurs de distribution sont des nœuds
En swing, un design est associé à un JPanel. Le jpannel de haut niveau donne la conception de base pour le cadre. Si vous souhaitez nier des conceptions supplémentaires dans la conception de niveau élevé, vous devez créer des JPanels supplémentaires, définir vos conceptions associées, puis les ajouter à la disposition de niveau la plus élevée.
Vidéo: AWT vs swing vs javafx
Dans JavaFX, les conceptions sont des sous-classes du nœud de classe ainsi que des contrôles et des formulaires. Les conceptions contiennent une collection de nœuds et tout nœud contenu dans une provision peut être n’importe quel type de nœud: un contrôle, une forme ou une autre disposition. Ce schéma est beaucoup moins lourd que l’association d’oscillation des conceptions de panneaux.
Javafx a le contrôle de l’événement amélioré
JavaFX et l’événement Utilisez la gestion de la oscilation pour répondre aux événements. Cependant, vous réaliserez que les événements de JavaFX sont mieux conçus et plus cohérents que ses équivalents de swing. Mais la plus grande raison de la manipulation des événements est améliorée à JavaFX est due à sa dépendance à la dépendance des propriétés.
JavaFX prend en charge les propriétés
JavaFX est compatible avec les concepts de propriétés et utilise les propriétés de manière approfondie à travers Vos classes. En bref, une propriété est une variable dont la valeur peut être observée. Vous pouvez enregistrer un auditeur avec n’importe quelle propriété, ce qui vous permet d’écrire un code automatiquement activé chaque fois que la propriété change. De plus, les propriétés peuvent être liées ensemble, ce qui signifie que si vous modifiez la valeur d’une propriété, l’autre valeur de la propriété change automatiquement avec elle.
Parce que presque toutes les caractéristiques des éléments de l’interface utilisateur sont expédiés via des propriétés, JavaFX fournit un contrôle d’événement inhabituel en swing. Par exemple, dans JavaFX, vous pouvez connecter un détecteur d’événement pour la couleur dans une forme. Si le formulaire change de couleur, le code du détecteur d’événement est exécuté. Vous n’avez peut-être pas une utilisation pour la capacité, mais elle peut être utilisée si nécessaire.
Javafx est personnalisable avec CSS
L’une des meilleures fonctionnalités Javafx est que vous pouvez le contrôler le format avec des feuilles de style en cascade (CSS). Presque tous les aspects de l’apparence de l’interface utilisateur peuvent être établis par une règle de style et peuvent être facilement autorisés à sélectionner les différentes feuilles de style disponibles pour appliquer sur la scène. Par conséquent, vous pouvez modifier tous les aspects de votre application avec un seul appel à la méthode.
JavaFX a un contrôle plus cohérent
en général, vous constaterez que la hiérarchie de contrôle Javafx est plus complète que l’oscillation de. Tous deux ont toutes les commandes de base – les boutons, les cases à cocher, les tables combinées et similaires. Mais JavaFX a plusieurs contrôles intéressants qui n’ont pas, tels que l’accordéon de contrôle et de contrôle de titres collaborables qui organise plusieurs contrôles de titres de titres dans une pile. Et le fait que toutes ces commandes soient personnalisables à l’aide de CSS leur donne un grand avantage sur la balançoire.
Javafx a des effets spéciaux
package Javafx.scene.Exfect contient un certain nombre de classes que vous avez Peut facilement appliquer des effets spéciaux à tout nœud sur le scénario graphique. Ces classes permettent d’appliquer facilement des ombres, des réflexions, des floues et d’autres effets visuels intéressants qui peuvent transformer l’aspect de leur interface utilisateur.
Animation est plus facile sur Javafx
Animation est possible dans Swing, Mais l’équilibre ne lui fournit aucun support direct. Pour encourager un composant pivotant, vous devez configurer vos propres minuteries et construire votre propre logique pour exécuter l’animation.
Vidéo: Javaone 2012: JavaFX et expérience utilisateur riche
au contraire, JavaFX a incorporé à la prise en charge des animations sophistiquées pouvant être appliquées à n’importe quel noeud sur le scénario graphique. Vous pouvez utiliser l’un des différents types de transition incorporée pour effectuer des animations courantes telles que la coulée, les rotations ou les itinéraires de mouvement. Ou, vous pouvez utiliser les classes clé et chronologie pour configurer facilement des animations personnalisées.
Javafx est compatible avec les périphériques tactiles modernes
oscillation sans support pour les périphériques tactiles modernes. En revanche, JavaFX a incorporé dans le support des gestes tactiles communs, tels que le déplacement, la glissière, la rotation et le zoom. Le traitement de ces événements à JavaFX est aussi simple que le traitement de tout autre type d’événement: il vous suffit d’installer un détecteur d’événement dans l’événement tactile, puis d’écrire du code qui répond correctement.
JavaFX ne fait pas Il est équivalent à JOPTIONPANE
Il ne serait pas juste de remplir complètement cette liste de dix points avec des différences qui favorisent clairement JavaFX. Voici une petite contrariété de JavaFX: elle n’a pas d’équivalent incorporé à la classe JOPTIONPANE, qui est très utile pour la visualisation des messages d’alerte courts ou obtenir une entrée simple pour l’utilisateur. À JavaFX, vous devez créer votre propre équivalent à cette classe utile.