View
250
Download
0
Category
Preview:
Citation preview
Les IHM sous NetBeans
Objectifs
Netbeans est l'environnement de programmation Java qui permet, entre autre, de programmer des IHM
(Interface Homme-Machine).
Ce TP va vous permettre d'utiliser les principaux outils IHM sous Netbeans en JAVA :
jTextField / jTextArea / jButton / jLabel
et les méthodes utilisées :
setText("Chaine à afficher") / getText() / append("Chaine à ajouter aux précédentes \n")
Mais aussi les procédures et les fonctions sur les entiers ou les réels :
Integer.parseInt(...) / Integer.toString(...) / Double.parseDouble(...) / Double.toString(...)
Tutoriel :
Exemple : calculatrice
But
On va réaliser une application simulant le fonctionnement d'une calculatrice 4 opérations.
Manipulations
• Commencez par créer une nouvelle JFrame et nommez cette classe Calculatrice.
• Dans la fenêtre de votre application, placez :
• un bouton (nommez le btnAddition et mettez + comme texte)
• un label (nommez le lblResultat)
• un Text Field que vous nommerez txtOperateur1
• un TextField que vous nommerez txtOperateur2 Vous devez avoir ceci :
• Ajoutez un gestionnaire d'événement sur le bouton +. Cela va créer une nouvelle procédure nommée btnAdditionActionPerformed.
• Dans la procédure btnAdditionActionPerformed, ajoutez le code suivant (vous pouvez le copier/coller entre les '{' et '}') :
double nb1 =
Double.parseDouble(txtOperateur1.getText());
double nb2 =
Double.parseDouble(txtOperateur2.getText());
lblResultat.setText(Double.toString(nb1 + nb2));
• Explications :
Les opérations sont exécutées de " l'intérieur vers l'extérieur "
• ligne 1 :
• txtOperateur1.getText() : ceci permet de récupérer le
texte saisi par l'utilisateur dans le JTextField
txtOperateur1;
• Double.parseDouble(...) : la chaîne précédente est
transformée en réel (double)
• le résultat de ces opérations est stocké (affectation '=') dans la variable nb1.
Remarque : il est possible d'exécuter ces actions en 2 temps, soit 2 lignes de code (au lieu d'une seule) :
String ch1 = txtOperateur1.getText(); //lecture du texte se
trouvant dans le composant JTextField et affectation à ch1
double nb1 = Double.parseDouble(ch1); // conversion du texte
se trouvant dans la String ch1en un double que l'on va stocker
dans nb1
• ligne 2 : idem pour le deuxième composant txtOperateur2
• ligne 3 :
• le calcul réel de (n1 + n2) est effectué,
• il est transformé en chaîne
Double.toString(nb1 + nb2)
• Il est affiché dans le texte du label lblResultat avec setText(...)
lblResultat.setText(...)
• Lancez le programme (triangle vert).
A faire pour s'entrainer :
1. Ajoutez des boutons pour les trois autres opérations. 2. Ajoutez aussi un bouton Clear pour remettre la zone d'affichage à 0. 3. Ajoutez un bouton pour le changement de signe (nécessite une variable 'globale', voir ci-
dessous). 4. En utilisant une variable (double memoire; par exemple) définie au niveau de la classe (sous
la ligne public class Calculatrice ...), ajoutez les boutons qui vont simuler les touches de mémoire (MS, MC, MR, M+ : voir fonctionnement ci-dessous).
Fonctionnement des touches MS, MC, MR, M+d'une calculatrice
Sur une calculatrice, la touche MS (Memory Store) sert à stocker le dernier résultat calculé dans une mémoire. La touche MR (Memory Restore) sert à récupérer le contenu de la mémoire afin de s'en servir dans un calcul. La touche MC (Memory Clear) sert à remettre à 0 le contenu de la mémoire. La touche M+ sert à additionner au contenu actuel de la mémoire le dernier résultat calculé.
Exemple de test de validation de fonctionnement :
txtOperateur1 = 2 , txtOperateur2 = 3, bouton + resultat = 5 MS ==> la mémoire contient 5 MR ==> le nombre 5 est mis dans la case de txtOperateur1 txtOperateur2 = 6, bouton * resultat = 30 M+ ==> la mémoire contient 35 MR ==> le nombre 35 est mis dans la case de txtOperateur1 MC ==> la mémoire est mise à 0 MR ==> le nombre 0 est mis dans la case de txtOperateur1
Recommended