Débuter en Java: votre première interface graphique Swing

I. Introduction swing en java

Dans ce tutoriel nous allons étudier la création d'une application graphique basique : le traditionnel Hello World.

 

Pour ce faire nous utiliserons l'éditeur Eclipse dans sa version actuelle (3.3.2) que vous trouverez sur sur la page téléchargement de Eclipse.org. Vous pourrez consulter ce tutoriel si vous avez besoin d'aide pour l'installation : Utilisation d'Eclipse pour vos applications Java.

 

Nous ferons par ailleurs usage de la bibliothèque de composants Swing. Pour rester simple, il existe aujourd'hui deux bibliothèques de composants concurrentes : SWING développée par Sun et SWT développée par IBM. Swing m'a semblé plus abordable dans sa mise en oeuvre et donc idéale pour débuter.

 

II. Explications


1 - Création du projet Hello Word

 

 

Lancez Eclipse et créez un nouveau projet java en cliquant sur le bouton ad hoc :

 

Nouveau projet

 

Nommez le projet HelloWorld. Les options par défaut devant normalement convenir, validez en cliquant sur Finish :

 

Nommer projet

 

Votre projet apparaît dans l'explorateur de projet. Cliquez dessus pour le sélectionner :

 

Explorateur projet

 

Pour pouvoir écrire le code java vous avez besoin de créer une classe qui va contenir ce code. Un projet important peut contenir un nombre significatif de classes; afin de faciliter la maintenance des projets les classes sont regroupées en package.

 

Nous allons ainsi d'abord créer un package, puis à l'intérieur de celui-ci nous ajouterons notre classe. Cliquez sur le bouton New Java Package :

 

Bouton New package

 

ou faite un clic droit sur le projet Hello World, puis New>Package :

 

New package

 

Notre package sera réservé au code de création de l'IHM (Interface Homme Machine), nommez-le ainsi Ihm et validez en cliquant sur Finish :

 

Nommer package

 

La prochaine étape consiste à créer notre classe. Cliquez sur le bouton New Java Class :

 

Créer classe

 

nommez la classe LancementApplication et cochez l'option permettant de créer automatiquement la fonction main :

 

Nommer classe

 

La fonction main est le point d'entrée du programme, c'est-à-dire qu'elle contient les instructions à exécuter au lancement de l'application. Sa présence est donc obligatoire dans le projet. Validez en cliquant sur Finish. L'éditeur affiche votre classe. Vous pouvez voir qu'elle appartient au package Ihm et qu'elle contient la fonction main :

 

Classe vide

 

 

2 - Compléter le code

 

 

Complétez le code de la classe ainsi (les explications vous sont fournies ci-dessous) :

 


Code

 

Comme signalé en introduction, nous allons utiliser les composants Swing. Pour ce faire nous devons importer la bibliothèque correspondante dans notre projet par :

 

 

import javax.swing.*;

 

 

Le joker (*) signale que nous désirons importer l'ensemble de la bibliothèque. Nous pourrions limiter l'importation aux seuls composants utilisés.

 

Le composant représentant une fenêtre d'application se nomme JFrame. Pour l'utiliser nous devons en créer une instance dans notre méthode main :


 

JFrame fenetre = new JFrame();

 

 

Nous fixons ensuite le titre et les dimensions de la fenêtre :


fenetre.setTitle("Application Swing");
fenetre.setSize(300,200);

 

Puis nous ajoutons un label qui contiendra le texte "Bonjour tout le monde !" :


JLabel label = new JLabel("Bonjour tout le monde !");

 

 

Nous ajoutons ce label à la fenêtre :


fenetre.getContentPane().add(label);

 

 

Si vous poursuivez votre excursion dans Swing et Java vous entendrez souvent parler de containers servant à positionner les composants. getContentPane permet ici de récupérer le container créé par défaut du JFrame fenetre.

 

 

Enfin nous rendons la fenêtre visible :


fenetre.setVisible(true);

 

 

 

3 - Compiler le programme

 

 

Vient enfin le moment d'exécuter le programme. Cliquez sur le bouton Run puis sélectionnez Run as>Java Application :

 

Run as

 

Une fenêtre vous invite à sauvegarder le travail. Cliquez sur ok :

 

Save

 

Votre fenêtre s'affiche à l'écran :

 

Run

 

Fermez la fenêtre comme vous le feriez habituellement : en cliquant sur la croix à droite dans la barre de titre.

 

 

III. Conclusion du tutorial

Nous voici à la fin de ce tutorial qui se voulait être une simple introduction à Swing.



A noter qu'il existe un outil permettant de créer interactivement une interface graphique dans Eclipse : Visual Editor.



Toutefois celui-ci n'est pas compatible à ce jour avec la version 3.3.2 de Eclipse (vous devrez faire usage de la 3.2) et sa mise en oeuvre est déroutante au début : la gestion des layout n'est pas chose aisée à maîtriser lorsqu'on débute en Java. Créer soit-même son interface en tapant le code est un bon moyen au départ pour comprendre les bases.