US

L'API Swing

Nous allons, dans le cadre de ce premier chapitre consacr� aux interfaces graphiques, utiliser l'API Swing pour r�aliser des interfaces graphiques simples et introduire la programmation �v�nementielle.

Java Foundation Classes

JFC (Java Foundation Classes) rassemble un grand nombre d'outils qui permettent de construire des interfaces graphiques. Dans cet ensemble d'outils, on retrouve notamment Swing qui permet de cr�er des composants graphiques et une API Java 2D qui permet de g�rer des graphiques et du texte en deux dimensions.

Swing est donc disponible dans le JDK standard de Java et se pr�sente sous la forme de 17 packages publics qui sont javax.swing.*. Lorsque l'on travaille avec des interfaces graphiques, il ne faudra pas oublier d'importer ces packages avec l'instruction import rencontr�e au chapitre 4.

Composants d'une interface graphique

De quoi est compos�e une interface graphique ? L'�l�ment principal est la fen�tre. La fen�tre est une entit� qui contiendra les diff�rents �l�ments de l'interface graphique. La fen�tre poss�de une barre de titre avec un titre et divers boutons pour g�rer la fen�tre (la r�duire, la maximiser ou la fermer). Ensuite, on a la partie de la fen�tre qui peut contenir d'autres �l�ments, on appelle cette partie conteneur et enfin, on a parfois une bordure � la fen�tre.

Une fen�tre
fig j10.2 Une fen�tre

Dans la partie conteneur d'une fen�tre, on va pouvoir placer toutes sortes de choses. On pourra y placer d'autres conteneurs ou alors ce qu'on appelle des composants. Un composant est une entit� qui poss�de une certaine fonctionnalit� et avec laquelle l'utilisateur peut interagir, vous connaissez surement les boutons, les zones de texte, les listes d�roulantes, ...

Des composants
fig j10.3 Des composants

La figure j10.3 montre les deux composants principaux qui ont �t� ajout�s au conteneur de la fen�tre, on a un composant personnalis� qui trace une courbe et un bouton. On verra comment cr�er des composants personnalis�s � la derni�re section de ce chapitre.

Hi�rarchie des classes

� chacun des �l�ments que nous venons de rencontrer est associ�e une classe Java. Ces diff�rentes classes sont organis�es d'une certaine mani�re dans l'API Swing et dans AWT �tant donn� que Swing se base sur une partie de AWT.

Voyons maintenant un peu ces diff�rentes classes et la relation qui existe entre celles-ci. Une partie de l'hi�rarchie des classes est repr�sent�e sur la figure suivante, n'h�sitez pas � cliquer pour voir la version en taille r�elle.

Hi�rarchie des classes Swing
fig j10.4 Hi�rarchie des classes Swing

Cette hi�rarchie des classes est une hi�rarchie qui se base sur la relation d'h�ritage entre les classes, comme on l'a vu au chapitre 9, il ne faut donc pas oublier qu'on a la relation is-a entre une classe fille et sa classe m�re.

Sachez avant tout que les classes Component, Container, Window et Frame font partie de AWT, et les autres dont le nom commence par J font partie de Swing.

La partie AWT

On voit tout de suite qu'on retrouve la classe Component au sommet de la hi�rarchie, cette classe repr�sente un composant. Si cette classe se retrouve si haut dans la hi�rarchie, on se rappelle que cela signifie qu'elle repr�sente un concept tr�s g�n�ral, et souvent abstrait.

En effet, les composants sont les �l�ments de base pour la construction d'interfaces graphiques, et tous les autres �l�ments que nous utiliserons sont des composants (toutes les autres classes seront li�es � la classe Component par la relation is-a.

Vient ensuite la classe Container qui repr�sente des conteneurs, c'est-�-dire des �l�ments capables de contenir des composants. On a deux grands types de conteneurs : les fen�tres (la classe Window) et les composants Swing (la classe JComponent).

La partie Swing

Swing va donc sp�cialiser AWT sur deux points : tout d'abord, on retrouve la classe JFrame qui repr�sente une fen�tre avec sa barre de titre, sa bordure et son conteneur. �tant donn� qu'une fen�tre peut contenir d'autres composants, on a bien la relation JFrame is-a Container.

JFrame is-a Container
fig j10.5 JFrame is-a Container

Une fen�tre est donc un conteneur et peut contenir d'autres composants. De plus, une fen�tre est un composant, on pourra donc retrouver des fen�tres dans des fen�tres.

Enfin, Swing introduit les composants Swing par la classe JComponent. Lorsque l'on travaille avec Swing, on utilise des composants Swing et on les emboite les uns dans les autres, comme on le verra d�s la section suivante pour cr�er les interfaces graphiques.

De nombreux composants Swing existent dans le JDK standard Java comme les boutons (JButton), les zones de texte (JTextArea), ... mais on peut �galement cr��r nos propres composants personnels comme celui qui affiche une courbe.

Swing est donc synonyme d'une grande richesse, d'une grande souplesse, et pour apprendre Swing compl�tement, il faudrait tout un tutoriel rien que pour �a, nous allons dans ce chapitre nous limiter aux bases et comprendre les concepts fondamentaux afin de vous permettre de poursuivre sans soucis votre apprentissage de Swing par apr�s si vous le d�sirez.

  • Espace membre
  • Learning Center
  • Les forums
  • Livre d'or
  • Imprimer
  • Boutique
  • Info
  • R�glement
  • Erreur
  • Newsletter