Les IHM sous NetBeans - delfaud.fr · Les IHM sous NetBeans Objectifs Netbeans est...

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