Recherche :
Nous allons, dans ce chapitre, nous intéresser à la mise en oeuvre d'interfaces
graphiques en Java. Comme nous allons le voir, il vous est possible de créer toutes
sortes d'interfaces, et d'y inclure tous types de composants : des boutons, des case à
cocher, des zones de saisie de texte, ... Mais vous pourrez aussi y inclure des
composants plus complexes : des menus, des arbres déroulant, des boîtes de
dialogue pour choisir des fichiers, des couleurs, ... Nous allons, tout au long des
chapitres suivants, présenter les principales possibilités qui vous sont offertes.
L'API Swing :
SWING fut donc mis en place pour assurer 100% de portabilité (même un pixel
doit avoir la même couleur). Le pari est gagné, mais à un coup non forcément
négligeable : pour assurer cette portabilité, un bouton (au tout autre composant
graphique) est dessiner non plus par l'OS, mais par Java (ce qui en terme de temps
d'exécution à un prix).
En fait, SWING est présenté comme étant écrit uniquement en Java. Bien
entendu, il y a une petite triche : en effet, Java doit au moins être capable d'interagir
avec l'OS pour pouvoir tracer un point (il faut donc autre chose que du 100% Java).
Or c'est ce que font les classes de base de l'AWT (telles que Component, Container,
...). En conséquence, tous les composants de SWING dérive d'une classe de
l'AWT.
Notez une chose importante : les mécanismes de gestion d'évènements et de
positionnent des composants de l'AWT restent utilisable avec SWING. Donc,
certaines classes déjà utilisées avec l'AWT sont donc toujours d'actualité. En terme
d'importation de package, cela implique qu'un programme SWING doit malgré tout
importer certains packages de l'AWT.
Dernières petites choses pouvant intervenir dans le choix d'une des deux API -
Swing est bien plus riche que l'AWT (même si un composant n'existe pas en natif sur
l'OS, rien n'empêche de complètement le redessiner) - Si vous cherchez à mettre en
place des applets, sachez que Swing n'est pas encore supporté par tous les
navigateurs (on peut contourner le problème, nous y reviendrons).
Créer des Arbres à l’aide de la classe swing :
http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JTree.html
L’API de Java2 : http://www.infres.enst.fr/docs/jdk1.4.0/api/