Développement d'une interface graphique Java

GUI signifie Graphical User Interface, un terme utilisé non seulement en Java mais dans tous les langages de programmation qui prennent en charge le développement de GUI. L'interface utilisateur graphique d'un programme présente à l'utilisateur un affichage visuel facile à utiliser. Il est composé de composants graphiques (par exemple, des boutons, des étiquettes, des fenêtres) à travers lesquels l'utilisateur peut interagir avec la page ou l'application.

Pour créer des interfaces utilisateur graphiques en Java, utilisez Swing (anciennes applications) ou JavaFX.

Éléments typiques

Une interface graphique comprend une gamme d'éléments d'interface utilisateur - ce qui signifie simplement tous les éléments qui s'affichent lorsque vous travaillez dans une application. Ceux-ci peuvent inclure:

  • Contrôles de saisie tels que boutons, listes déroulantes, cases à cocher et champs de texte.
  • Éléments d'information tels que des étiquettes, des bannières, des icônes ou des boîtes de dialogue de notification.
  • Éléments de navigation, y compris les barres latérales, le fil d'Ariane et les menus.

Cadres de l'interface graphique Java: Swing et JavaFX

Java a inclus Swing, une API pour créer des interfaces graphiques, dans son Java Standard Edition depuis Java 1.2 ou 2007. Il est conçu avec une architecture modulaire afin que les éléments soient facilement plug-and-play et puissent être personnalisés. Il a longtemps été l'API de choix pour les développeurs Java lors de la création d'interfaces graphiques.

JavaFX existe également depuis longtemps - Sun Microsystems, qui possédait Java avant le propriétaire actuel Oracle, a publié la première version en 2008, mais il n'a pas vraiment gagné en popularité jusqu'à ce qu'Oracle achète Java à Sun.

L'intention d'Oracle est de remplacer éventuellement Swing par JavaFX. Java 8, sorti en 2014, a été la première version à inclure JavaFX dans la distribution principale.

Si vous débutez avec Java, vous devriez apprendre JavaFX plutôt que Swing, bien que vous ayez peut-être besoin de comprendre Swing car tant d'applications l'intègrent et tant de développeurs l'utilisent toujours activement..

JavaFX propose un ensemble entièrement différent de composants graphiques ainsi qu'une nouvelle terminologie et possède de nombreuses fonctionnalités qui s'interfacent avec la programmation Web, telles que la prise en charge des feuilles de style en cascade (CSS), un composant Web pour incorporer une page Web dans une application FX, et la fonctionnalité de lecture de contenu multimédia Web. 

Design et convivialité

Si vous êtes développeur d'applications, vous devez prendre en compte non seulement les outils et les widgets de programmation que vous utiliserez pour créer votre interface graphique, mais aussi être conscient de l'utilisateur et de la façon dont il interagira avec l'application..

Par exemple, l'application est-elle intuitive et facile à naviguer? Votre utilisateur peut-il trouver ce dont il a besoin aux endroits attendus? Soyez cohérent et prévisible sur l'endroit où vous placez les choses - par exemple, les utilisateurs connaissent les éléments de navigation dans les barres de menu supérieures ou les barres latérales de gauche. L'ajout de la navigation dans une barre latérale droite ou en bas ne fera que rendre l'expérience utilisateur plus difficile.

D'autres problèmes peuvent inclure la disponibilité et la puissance de tout mécanisme de recherche, le comportement de l'application en cas d'erreur et, bien sûr, l'esthétique générale de l'application.

La convivialité est un domaine en soi, mais une fois que vous maîtrisez les outils de création d'interfaces graphiques, apprenez les bases de la convivialité pour vous assurer que votre application a une apparence qui la rendra attrayante et utile pour ses utilisateurs..