TP: RC Université de Jijel Faculté des sciences exactes et de l’informatique Département d’informatique TP: RC
Où trouver les TPs ? http://chettibi.e-monsite.com/
TP N°1 : GUI en NetBeans
GUI = Graphical User Interface La principale caractéristique d’un programme avec GUI réside dans la notion de programmation événementielle où le programme réagit aux demandes de l’utilisateur: Cliquer sur des boutons Remplir des champs de texte Sélectionner des articles de menu … etc. Cela en opposition avec un programme à interface console: c’est le programme qui pilote l’utilisateur en le sollicitant au moment voulu pour qu’il fournisse des informations ; le dialogue se fait en mode texte et de façon séquentielle, dans une fenêtre nommée "console".
Objectif de ce TP Construire un programme à interface graphique qui somme deux nombres réels. .
Etape 1 Création du projet
File > New Project Categories / Java & Projects/ Java Application > Next Project Name ………Nommer le programme ( eg. Add) Décocher (Create Main Class) Finish
Ce qu’on obtient
À quoi doit ressembler notre interface ? Fenêtre : Jframe Rôle: conteneur de composants
Etape 2 Création de la fenêtre graphique
File > New File Categories /Swing Gui Forms & File Types/ Jframe Form > Next Class Name ………………….. Nommer la classe (eg, AddGUI) Package ………………….. Nommer le package (eg, AddPack) Finish
Ce qu’on obtient
Etape 3 Insertion des différents composants
À quoi doit ressembler notre interface ? Panneau (avec un titre) : Panel Rôle: Sous fenêtre
À quoi doit ressembler notre interface ? 3 étiquettes : Jlabel Non modifiable par l ’utilisateur
De même pour NB2 Résultat Sinon clique droit --- Edit Text
À quoi ressemble notre interface ? 3 champs de texte: JTextField Un champ de texte (on dit aussi une boîte de saisie) est une zone rectangulaire (avec bordure) dans laquelle l’utilisateur peut entrer ou modifier un texte (d’une seule ligne). Il s’obtient en instanciant un objet de type JTextField.
De même pour Les deux autres champs
Pour le champs résultat , on peut désactiver la saisie en allant dans Propriétés/ (décocher editable) :
À quoi ressemble notre interface ? 3 boutons: Button
De même pour Les deux autres boutons
À quoi ressemble notre interface ?
Etape 4 Écriture du Code
Bouton Quitter Faire un clique droit sur le bouton « Quitter » Choisir Events / mouse/ mouseClicked private void jButton3MouseClicked(java.awt.event.MouseEvent evt) { System.exit(0); } Ce code est activé une fois on clique par la souris sur le Boutton quitter
Bouton Annuler Faire un clique droit sur le bouton « Annuler» Choisir Events / mouse/ mouseClicked private void jButton2MouseClicked(java.awt.event.MouseEvent evt) { jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); } Ce code est activé une fois on clique par la souris sur le Bouton Annuler
Bouton Somme Faire un clique droit sur le bouton « Somme» Choisir Events / mouse/ mouseClicked private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { float n1,n2,res; n1=Float.parseFloat(jTextField1.getText()); n2=Float.parseFloat(jTextField2.getText()); res=n1+n2; jTextField3.setText(String.valueOf(res)); } Ce code est activé une fois on clique par la souris sur le Bouton Somme
exécution Run / Run Project (Add)
Exemple d’exécution
Exception/gestion des exceptions Erreurs survenant lors de l’exécution d’un programme : Trouver des lettres quand une variable de type numérique est attendue Une division par zéro L’indexation d’un composant de tableau en dehors du domaine de définition du type des indices. Trouver Fin de fichier en lisant une valeur. Allocation mémoire impossible car Espace mémoire insuffisant, Lecture ou écriture sur un équipement externe défectueux. Le terme exception désigne tout événement arrivant durant l’exécution d’un programme interrompant son fonctionnement normal. En java, les exceptions sont matérialisées par des instances de classes héritant de la classe java.lang.Throwable. A chaque évènement correspond une sous-classe précise, ce qui peut permettre d’y associer un traitement approprié. La clause try s’applique à un bloc d’instructions correspondant au fonctionnement normal mais pouvant générer des erreurs.
Quelles exceptions peut-on avoir? n1=Float.parseFloat(jTextField1.getText()); n2=Float.parseFloat(jTextField2.getText());
NumberFormatException float parseFloat (String s) Cas1: s est vide (l’utilisateur n’a rien saisi )
NumberFormatException float parseFloat (String s) Cas 2: s n’est pas numérique (l’utilisateur a saisi des lettres par exemple “p” dans le premier champs) NumberFormatException est lancé
Traitement des exceptions Pour traiter une exception produite par l’exécution d’une action A, il faut la placer dans une clause try (essaye) Suivie obligatoirement d’une clause catch (attraper) qui contient le traitement de l’exception.
Somme & Exception
Exercice supplémentaire Application avec GUI qui calcule quelques métriques de performance réseau
TP = Distance / Vitesse de Propagation du signal Temps d’émission (TE): délai entre le début et la fin de la transmission d’un message Te= Taille / Débit Temps de propagation (TP): temps nécessaire au signal pour passer d'un bout à l'autre du support TP = Distance / Vitesse de Propagation du signal Délai d’acheminement (Da): temps nécessaire pour que les données arrivent au récepteur. DA= TE+TP délai entre le début et la fin de la transmission d’un message Mesure Unité Temps / Délai Taille Débit Longueur Vitesse Seconde Mbit Mbit/s KM KM/s
Quelles exceptions peuvent être lancées ?...
Mot-clé throw (lancer ou signaler)