Introduction à JFC et à la programmation d’interface graphique en Java

Ce tutoriel aborde les bases de la programmation d’interface graphique et des Java Foundation Classes ou JFC en Java :

Dans nos précédents tutoriels, nous avons abordé des sujets allant des bases des types de données de type Java, des variables, de la prise de décision et des constructions de boucle, etc. aux tableaux, aux collections et aux méthodes en Java.

Nous avons également abordé le concept du multithreading et des exceptions. Après cela, nous avons appris le support OOPS de Java. En utilisant tous ces concepts, nous pouvons développer des applications de haut niveau en Java qui sont réutilisables et robustes ainsi qu’autonomes.

=> Vérifiez ici pour voir A-Z des tutoriels de formation Java.

Dans ce tutoriel, nous allons commencer notre discussion sur le développement graphique des applications en Java. Comme tous les autres concepts, Java fournit de nombreuses classes graphiques réutilisables et des APIS afin que nous puissions développer notre interface utilisateur graphique (GUI).

Qu’est-ce qu’une interface utilisateur graphique en Java

L’interface utilisateur graphique ou simplement appelée « GUI » est un terme général utilisé dans le monde du logiciel. Une GUI représente une application qui a un affichage visuel pour l’utilisateur avec des contrôles faciles à utiliser. Une GUI se compose généralement de composants graphiques comme des fenêtres, des cadres, des boutons, des étiquettes, etc.

Nous pouvons utiliser ces composants pour interagir avec le système ou même le monde extérieur. Java fournit de nombreuses API et classes réutilisables à l’aide desquelles nous pouvons développer des applications d’interface graphique. L’un des plus anciens kits fournis par Java est  » Abstract Windowing ToolKit  » ou AWT. Toutes les API ou composants plus récents comme Swing ; JavaFX, etc. sont basés sur cet AWT.

Les programmes de console que nous avons écrits jusqu’à présent sont tout aussi importants mais nous devons savoir que toutes les dernières applications de bureau modernes sont activées graphiquement. Cela signifie qu’elles ont une interface graphique prête à l’emploi qui facilite l’utilisation de l’application par l’utilisateur final d’un simple clic de souris.

Notez que l’écriture d’une interface graphique n’est pas aussi simple que de dessiner quelques formes ou d’inclure des images. L’interface graphique contient une séquence d’activités qui déclenchent également certains événements qui à leur tour exécutent certaines actions sur l’invocation d’un composant ou d’une partie d’un composant comme en cliquant sur un bouton nous déclenchons certaines actions.

Donc une application GUI est un cadre composé de composants graphiques & événements qui peuvent être déclenchés sur ces composants et les actions qui s’exécutent à la suite du déclenchement des événements.

Les frameworks fournissent généralement des classes et des composants réutilisables précompilés que nous pouvons glisser et déposer dans la zone de dessin, puis associer les événements et les actions à ces composants.

Java fournit les principaux frameworks suivants.

Java fournit les frameworks suivants pour la programmation des interfaces graphiques :

  1. Boîte à outils de fenêtrage abstraite : Il s’agit du framework le plus ancien de Java et il a été introduit pour la première fois dans le JDK 1.0. La plupart des composants AWT sont maintenant dépassés et sont remplacés par des composants Java swing.
  2. Api Swing : C’est un ensemble de bibliothèques graphiques développées au-dessus du framework AWT et qui fait partie des Java Foundation Classes (JFC). Swing a une architecture modulaire dans laquelle nous pouvons utiliser le plug-and-play pour les composants.
  3. JavaFX : Le dernier framework est disponible à partir de Java 8.

Il existe divers frameworks graphiques tiers comme le Standard Widget Toolkit (SWT) d’Eclipse ou le Google Web Toolkit (GWT) utilisé sur Android.

Java Foundation Classes (JFC)

Java fournit un ensemble de caractéristiques et de fonctionnalités pour développer des interfaces graphiques ou GUI. Cet ensemble de fonctionnalités est connu sous le nom de Java Foundation Classes ou JFC.

En utilisant JFC, nous pouvons ajouter des fonctionnalités graphiques riches aux applications et également les rendre plus interactives. JFC contient un ensemble de composants graphiques qui peuvent être facilement branchés dans notre application et programmés selon nos besoins. Mais la programmation de ces composants ne prend généralement que quelques lignes de code.

JFC contient des classes des paquets java.awt et javax.swing. En dehors de ceux-ci, il contient également des classes liées à Java 3D, Java 2D, Java Accessibility, etc. JFC est en phase avec le modèle d’objets et de composants de Java et est donc facile à utiliser.

Le schéma suivant résume les différents composants de JFC.

Comme indiqué ci-dessus, JFC contient des classes AWT ainsi que des classes Swing. Nous discuterons de chacune d’entre elles au fur et à mesure des tutoriels sur Java AWT et Java Swing. JFC fournit également diverses méthodes que nous pouvons utiliser au sein de notre application.

Certaines des méthodes couramment utilisées sont :

Tr>

Tr>

Méthode Description
Public void add(Component c) Ajoute un composant au composant parent invoquant la méthode.
Public void setSize(int width,int height) Définit la taille d’un composant avec une largeur et une hauteur spécifiées. Public void setLayout(LayoutManager m) Définir le gestionnaire de disposition spécifié pour ce composant. Public void setVisible(boolean b) Définir la visibilité du composant selon la valeur booléenne. Par défaut, la visibilité est fausse.

Maintenant, passons à la discussion des composants de l’interface graphique à un niveau général. Puis, dans nos tutoriels suivants, nous aborderons les packages AWTet Swing et leurs composants de manière spécifique.

Composants de la fenêtre

Nous savons que le conteneur parent de toute application GUI est une fenêtre qui peut contenir un ou plusieurs cadres.

Une interface graphique comprend généralement des éléments d’interface utilisateur ou les éléments qui sont affichés en tant que partie de l’interface graphique dans l’application.

Ces composants de fenêtre sont les suivants :

  • Éléments informationnels : Les éléments ou composants qui nous fournissent des informations comme les étiquettes, les icônes, les bannières ou les dialogues de messages.
  • Contrôles de saisie : Les champs de texte, les boutons, les listes déroulantes, les cases à cocher, les boutons radio, etc. sont les contrôles de saisie qui nous permettent de lire les données de l’utilisateur.
  • Composants de navigation : Les composants comme le menu, les barres latérales, les fils d’Ariane, etc. nous aident à naviguer dans l’application.

Décrivons maintenant certains composants importants de l’interface graphique.

Frame In Java

Un frame est une fenêtre graphique visible à l’écran. Un cadre peut être considéré comme un composant mais comme il forme une fenêtre physique que nous pouvons voir à l’écran, il est traité différemment des autres composants. Un cadre peut avoir d’autres composants graphiques comme des boutons, des champs de texte, etc. et des panneaux aussi.

Les cadres ont aussi des méthodes qui ne sont pas supportées par les autres composants. « java.awt.Frame » représente une classe dans AWT tandis que JFrame est la classe contenue dans le paquet Java Swing qui représente un Frame.

Donc toute application GUI commencera par construire un objet JFrame qui forme la fenêtre principale. Une fois l’objet JFrame créé, nous pouvons définir sa propriété visible à true en appelant setVisible (‘true’). Ensuite, nous pouvons glisser et déposer les autres composants dans ce cadre.

Tous les composants de l’interface graphique, y compris les cadres, ont certaines propriétés communes car ils font partie d’une hiérarchie d’héritage commune présentée ci-dessus. Nous pouvons donc dire qu’il existe un cas puissant de partage de code dans le paquet Java Swing.

La figure suivante montre une fenêtre de cadre typique dans l’éditeur d’interface graphique.

Comme nous pouvons le voir sur la figure ci-dessus, la fenêtre la plus extérieure dans l’éditeur de conception (marquée par une plus petite flèche rouge) est le cadre. À l’intérieur de ce cadre, nous avons divers autres composants ou composants enfants du cadre.

Cela est évident à partir du panneau sur le côté gauche qui montre une structure arborescente des composants. Comme indiqué par une plus grande flèche rouge, JFrame est le composant racine et ensuite tous les autres composants sont ses composants enfants.

JPanel en Java

Le conteneur JPanel fait partie du paquet Swing en Java. JPanel stocke un groupe de composants. JPanel a organisé les composants en utilisant la mise en page définie par lui. Diverses mises en page peuvent aider JPanel à mieux organiser les composants.

JPanel est considéré comme un bloc de construction de base pour la disposition des composants dans un cadre ou à l’intérieur d’autres panneaux. Une application GUI a généralement Frame comme fenêtre principale et un ou plusieurs panneaux à l’intérieur pour contenir et organiser divers composants.

L’image suivante montre un exemple simple d’un panneau à l’intérieur d’un cadre.

Comme indiqué ci-dessus, un conteneur Panel est intégré dans un conteneur de fenêtre Frame. Nous pouvons avoir un ou plusieurs panneaux ou même un panneau à l’intérieur d’un panneau. Ensuite, nous pouvons appliquer n’importe quel gestionnaire de mise en page au panneau qui organisera les composants ou les éléments à l’intérieur du panneau. Le gestionnaire de mise en page par défaut pour JPanel est « FlowLayout ».

Mise en page de l’interface utilisateur en Java

Le conteneur Java utilise une mise en page automatique des composants sur l’écran. Mais la taille et les positions des composants sont prises en charge par le  » layout manager « . Le gestionnaire de mise en page est défini pour un conteneur au moment de la conception. Il peut également être modifié dynamiquement.

Les dispositions courantes utilisées dans les interfaces graphiques Java sont :

#1) BorderLayout

La disposition en bordure divise le composant en 5 zones comme indiqué ci-dessous.

Sur celles-ci, 4 zones à savoir « Nord », « Sud », « Est » et « Ouest » sont non redimensionnables. La zone « Centre » est redimensionnable. Notez que chaque zone est limitée à un seul composant et que les panneaux peuvent être utilisés pour contenir plusieurs composants.

#2) FlowLayout : Cette mise en page est utilisée pour contenir plusieurs composants. Les composants multiples sont disposés horizontalement et ils s’enroulent si la largeur du conteneur est épuisée. De plus, les composants sont affichés dans l’ordre de gauche à droite.

#3) BoxLayout : À l’aide de la disposition en boîte, les composants sont disposés soit verticalement, soit horizontalement. Cette disposition de la mise en page de la boîte est indépendante de la taille du conteneur. Les composants du conteneur sont disposés de manière à ce qu’ils remplissent le conteneur et aient des tailles identiques.

Ce sont là quelques-uns des composants importants et courants que nous avons dans le développement d’interfaces graphiques. Dans nos tutoriels ultérieurs sur AWT et Swing, nous entrerons dans les détails des autres composants fournis par ces paquets.

Frequently Asked Questions

Q #1) Qu’est-ce que la programmation GUI ?

Réponse : Les programmes développés à l’aide de composants graphiques qui interagissent avec l’ordinateur en utilisant le dispositif de pointage et qui est piloté par des événements, c’est-à-dire qu’il effectue certaines actions lorsque certains événements sont déclenchés, et est appelé programmation GUI.

Une programmation GUI utilise des frameworks GUI dans lesquels nous pouvons directement brancher et utiliser des composants graphiques.

Q #2) Quelle GUI utiliser avec Java?

Réponse : Java prend en charge certains des meilleurs frameworks que nous pouvons utiliser pour développer des applications d’interface graphique comme indiqué ci-dessous :

  • JavaFX.
  • Swing GUI Java.
  • AWT : Abstract Windowing Toolkit.
  • SWT- Standard Widget Toolkit.
  • Apache Pivot.
  • SwingX.
  • JGoodies.
  • QtJambi.

Q #3) Quels sont les avantages d’une interface graphique ?

Réponse : Le programme GUI rend les applications interactives, intuitives et plus faciles à utiliser et à apprendre. Comme ils fournissent à l’utilisateur des visuels graphiques, les actions ont plus d’effet et nous obtenons ainsi un retour visuel immédiat sur l’application.

Q #4) Qu’est-ce que l’API JavaFX ?

Réponse : JavaFX est la dernière bibliothèque Java écrite dans le code Java natif et contient des classes et des interfaces. JavaFX peut être utilisé pour concevoir des applications d’interface graphique dans les versions de Java ultérieures à Java 8.

Q #5) Java est-il bon pour les interfaces graphiques ?

Réponse : Bien que Java dispose de plus d’outils pour développer des applications GUI ainsi que du meilleur support, il n’est pas aussi rapide et aussi efficace que la bibliothèque MFC de C++ qui possède presque toutes les fonctionnalités pour développer des applications GUI avancées.

Conclusion

Dans ce tutoriel, nous avons exploré la programmation GUI en Java. Nous avons introduit certains des concepts importants de la programmation d’interface graphique en Java et avons également vu un aperçu des cadres d’interface graphique pris en charge par Java. Nous avons discuté de l’aperçu de la bibliothèque JFC.

=> Consultez TOUS les tutoriels Java ici.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *