Poo, langage java

Pages: 11 (2614 mots) Publié le: 22 mai 2013
Master 2 BBSG

POO, langage Java

Henri Garreta et Laurent Tichit

7. Interfaces graphiques
1. 2. 3. 4. 5. 6. 7. 8. Compteurs Afficher l'heure Le Taquin Boîtes de dialogue standard Dessine-moi une spline...! Une liste (très) simple Un bloc-notes Tracer une courbe

7.1. Compteurs
On vous demande de réaliser une application pour compter (des étoiles, des passagers embarqués, desbactéries, etc.). Cela se présente (voir la figure 1) comme un panneau comportant un titre, un nombre entier et un bouton. Chaque fois que l’utilisateur appuie sur le bouton, le nombre augmente de une unité.

A. Pour commencer, réalisez un programme très minimaliste : une classe
Compteur avec la méthode main et deux variables statiques (la valeur du nombre et le JLabel chargé de son affichage). Il vousfaudra aussi une classe auxiliaire AuditeurBouton pour représenter l’objet qui détecte et dispatche les pressions sur le bouton ; faitesen une classe interne à Compteur, ce qui lui permettra d’accéder aux variables valeur et affichage (Pour des raisons techniques - mais compréhensibles - cette classe devra elle aussi être qualifiée static).

Fig. 1

B. [Légère amélioration du code] Remplacez laclasse interne
AuditeurBouton par une classe anonyme.

C. [Légère amélioration de l’aspect] Faites en sorte que le bouton « ++ » ait
sa largeur préférée (voyez la figure 2), au lieu d’occuper toute la largeur du cadre. Pour cela, intercalez un panneau entre le bouton et le cadre.

D. [Grosse amélioration du code] Faites les choses comme il faut les faire :
réorganisez le code précédentafin de définir une classe Compteur, sousclasse de JPanel. Elle est munie d’un constructeur prenant le titre pour argument, et chacune de ses instances représente un panneau supportant un triplet (titre, nombre affiché, bouton). Pour essayer cette classe, écrivez une méthode main (soit dans la classe Compteur, soit dans une autre classe définie à cet effet) qui crée un cadre et y place un compteur.Fig. 2

E. Pour vous convaincre du bien fondé de la classe précédente, modifiez la méthode main

précédente afin qu’elle crée un cadre avec, par exemple, quatre compteurs indépendants :

Fig. 3

7.2. Afficher l’heure
L’objet de cet exercice est la réalisation d’une classe Horloge servant à afficher l’heure courante - rafraîchie toutes les secondes - dans une interface graphique. Un objetHorloge doit pouvoir être utilisé à tout endroit où un objet JLabel est permis, et doit supporter toutes les sortes de personnalisation (changement de taille, de couleur, de police, etc.) que peut supporter un JLabel. Cette classe possédera un constructeur
public Horloge(String texte, String format)

où texte est une chaîne qu’on souhaite voir affichée devant l’heure et format une chaînespécifiant la présentation de l’heure (au besoin, revoyez l’exercice 1.3). Par exemple, dans l’illustration ci-contre, texte est la chaîne "Il est" et format la chaîne "HH:mm:ss". Dans cet exemple, un objet Horloge a été ajouté comme composant inférieur (« SOUTH ») d’un cadre ayant par ailleurs une image comme composant central. A - Récupérez le code de TestHorloge.java. Il devrait fonctionner. Rajoutezune seconde horloge en modifiant la classe TestHorloge. Dans la classe Horloge, modifiez seulement le constructeur pour pouvoir paramétrer les couleurs de fond et du textede l'horloge. Vous rendez-vous compte que ce code a un problème ? Lequel ? B - Pour obtenir le rafraîchissement de l’heure de chaque horloge, faites donc en sorte qu'en fin de programme principal, celui-ci produise la mise enroute d’un Thread séparé (voir l'API de la classe Thread), associé à un objet Runnable dont la méthode run peut être ainsi décrite :

• répéter indéfiniment : • construire la date courante et la définir comme texte du label en question • dormir pendant 1000 millisecondes (en anglais, dormir se dit sleep...) Vous avez de la chance, votre méthode run() fait exactement ce qui est demandé. N.B....
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Les Tableaux IGI6 POO en java
  • POO EN JAVA LD
  • Bases du langage java
  • Les fondements du langage java
  • poo c#
  • Java
  • java
  • Java

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !