IV. Chapitre 5▲
IV-A. Ajout d'un panneau opérations au code Calculatrice.java▲
Rien de très compliqué.
Pour la disposition du nouveau panneau, j'ai utilisé un GridLayout avec quatre lignes et une colonne. On peut utiliser d'autres layouts à la place, mais pour moi le GridLayout est le plus simple à utiliser dans ce cas de figure.
Voici le code modifié :
Et voici un aperçu de ce que l'on obtient (suivant votre système d'exploitation, l'apparence sera légèrement différente. L'application tente de réutiliser au maximum l'apparence classique du système) :
IV-B. Alignement de l'écran de la calculatrice à droite▲
Le premier réflexe que vous devez avoir lorsque vous ne savez pas (ou doutez) comment utiliser un composant, une classe standard de Java : consulter la javadoc. C'est donc le cas pour les composants SWING/AWT.
En effet, dans le chapitre 4, vous avez appris que l'outil javadoc vous permet de réaliser vos propres documentations pour vos classes, en respectant un certain standard. Eh bien l'ensemble des classes déjà intégrées à Java a aussi sa documentation Javadoc. Elle est consultable en ligne, sur le Web, mais vous pouvez aussi la télécharger.
La première chose à vérifier, c'est que la documentation que vous consultez correspond à la version de votre JDK : si c'est le JDK 1.5, il vous faudra la javadoc 5. Pour le JDK 1.6 il vous faudra la javadoc 6. Ainsi de suite.
Si vous voulez juste consulter en ligne la javadoc 5 : tapez java 5 api, depuis le moteur de recherche Google et accédez au lien qui vous est proposé.
Par contre, pour télécharger la javadoc 5 : il suffit de taper donwload javadoc 5. Ensuite cliquez sur le lien, zone de gauche, download java se documentation.
Voici donc comment utiliser la javadoc :
La zone en haut à gauche répertorie les différents packages, la zone en bas à gauche répertorie les classes du package sélectionné dans la zone en haut à gauche et la zone centrale affiche les informations de la classe choisie.
Cliquez sur All Classes dans la zone de packages (pour disposer de l'ensemble des classes, au cas où vous auriez déjà cliqué sur autre chose). Puis cliquez sur JTextField dans la zone des classes.
Un résumé du fonctionnement d'un JTextField est alors donné, avant les spécifications techniques en elles-mêmes (Constructeurs, Méthodes voire variables d'instances ou statiques.). Ici ce qui nous intéresse, c'est une méthode pour aligner le contenu à droite.
La méthode setHorizontalAlignement() est ce qu'il nous faut : cliquez sur le lien dans la liste des méthodes. On nous dit qu'il suffit de l'appeler en passant une valeur telle que JTextField.LEFT, JTextField.CENTER, JTextField.RIGHT,…
Il suffit donc tout simplement d'appeler :
champAffichage.setHorizontalAlignment
(
JTextField.RIGHT);
lors de la création du composant JTextField champAffichage. Comme vous pouvez le remarquer, la valeur RIGHT est une valeur statique de la classe JTextField.
Placez ce code entre la déclaration de champAffichage et son ajout au JPanel contenuFenetre.
IV-C. Exercice pour les petits malins▲
Là non plus, pas grand chose de compliqué.
Vous remarquerez tout de même que pour l'ajout des boutons au panneau de la fenêtre, je procède différemment. Je commence par ajouter les boutons 1à 9 à l'aide d'une boucle for, puis j'ajoute le bouton 0. Ceci afin de rester cohérent avec ce qui était déjà réalisé auparavant.
Si vous ajoutez tous les boutons avec juste une seule boucle de 0 à 9, vous aurez quelque chose de similaire à :
Donc le bouton 0 est mal placé.
Voici donc le code de la nouvelle version (la classe s'appelle Calculatrice_2 au lieu de Calculatrice) :
IV-D. Synthèse▲
Ainsi vous avez su :
- créer votre propre panneau de contenus et l'intégrer à l'ensemble existant. De plus, vous êtes resté cohérents dans la disposition graphique de la calculatrice ;
- rechercher des informations sur la javadoc officielle afin d'utiliser des composants / des fonctionnalités qui n'ont pas été présentées lors du cours ;
- ajouter des composants de manière plus dynamique : vous avez remplacé la création de 10 boutons ligne par ligne, par l'utilisation d'un tableau et d'une boucle for.