Enseignement > IHM > TP Java Swing > TP n°2 (Swing)  

 

Dans ce TP, nous allons apprendre à créer des fenêtres en Java, en utilisant la bibliothèque Swing.

Etape 1: Ouvrir une fenètre

On veut afficher une petite fenêtre au centre de l'écran, contenant un message indiquant la taille de l'écran. On utilise un objet JFrame pour réaliser la fenêtre.

Pour utiliser les classes de Swing, vous allez devoir importer les paquetages Swing. Pour cela, mettez ces instructions au début de votre programme:

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 

Ecrire un programme ne contenant que la fonction main. Déclarer dans un premier temps un objet fenetre de classe JFrame. Afficher la fenêtre en invoquant la méthode setVisible(true) de votre objet fenêtre.

Se reporter à la documentation pour trouver comment appeler le constructeur. Compiler et lancer cette première application. Normalement on ne voit grand chose se passer. La fenêtre est si petite qu'elle est presque cachée par la barre de tâches.

Etape 2: Redimensionner la fenètre

La classe JFrame possède ses propres méthodes mais aussi celles des classes dont elle hérite dans la hiérarchie des classes Java. Observer l'ensemble de cette hiérarchie dans la documentation.

Parmi les classes dont JFrame hérite, il y a la classe Component, qui caractérise les objets graphiques en général. La classe Component dispose de la méthode setBounds pour se redimensionner. La rechercher dans la documentation et l'utiliser pour modifier la taille et la position de la fenêtre.

Étape 3: Afficher un message

Nous allons maintenant afficher un message dans la fenêtre. Cela se fait par la création d'un objet message (à partir de la classe JLabel) et par l'ajout de celui-ci dans la fenêtre.

Consulter la documentation de JLabel et créer un objet message de type JLabel, dont le contenu est "Bonjour" (ou tout autre message).

Tous les objets graphiques d'une fenêtre sont regroupés au sein d'un "content pane" (littéralement: panneau de contenu), qui est un objet de type Container. C'est-à-dire que chaque fenêtre possède un "content pane", qui à son tour possède un ensemble d'objet graphiques (organisés en panneaux).

Notre message est un de ces objets graphiques. Pour l'afficher dans la fenêtre, il faut donc l'ajouter dans le "content pane" de la fenêtre. Chercher dans la documentation de JFrame la méthode qui permet d'obtenir son "content pane", puis chercher dans la documentation de Container la méthode qui permet d'y ajouter un composant graphique. Utiliser ces méthodes pour ajouter votre message dans votre fenêtre.