Exercice AWT A Hammache Exercice 2 Ecrire un

  • Slides: 10
Download presentation
Exercice AWT A. Hammache

Exercice AWT A. Hammache

Exercice 2 • Ecrire un programme JAVA qui affiche l’interface graphique suivante, permettant de

Exercice 2 • Ecrire un programme JAVA qui affiche l’interface graphique suivante, permettant de simuler le fonctionnement d’une citerne d’eau de rayon 1 mètre et de hauteur de 3 mètres. A. Hammache

 • Les boutons « Ajouter » et « Retirer » permettent respectivement d’ajouter,

• Les boutons « Ajouter » et « Retirer » permettent respectivement d’ajouter, de retirer une quantité d’eau exprimée en litre et de mettre à jour le volume courant et le taux de remplissage de la citerne • Le bouton « RAZ » permet de vider la citerne. A. Hammache

Fenêtre Panel Label Text. Field Panel Ajouter Retirer RAZ Panel Volume courant 0 Litres

Fenêtre Panel Label Text. Field Panel Ajouter Retirer RAZ Panel Volume courant 0 Litres Taux de rempliss 0 % A. Hammache

import java. awt. *; import java. awt. event. *; public class Fenetre. Citerne extends

import java. awt. *; import java. awt. event. *; public class Fenetre. Citerne extends Frame implements Action. Listener { private double qttexist = 0; //quantité existante private double qtt = 0; //quantité à ajouter Label lbl. Qtt = new Label("Quantité: "); Text. Field txt. Field = new Text. Field("2000"); Panel pnl. Haut = new Panel(new Flow. Layout()); Button btn. Ajouter = new Button("Ajouter"); Button btn. Retirer = new Button("Retirer"); Button btn. RAZ = new Button("RAZ"); Panel pnl. Centre = new Panel(new Flow. Layout()); A. Hammache

 Label lbl. Vol. Courant = new Label("Volume courant: "); Label lbl. Vol. Courant

Label lbl. Vol. Courant = new Label("Volume courant: "); Label lbl. Vol. Courant 1 = new Label("0"); Label lbl. Vol. Courant 2 = new Label("Litres"); Label lbl. Taux = new Label("Taux de remplissage: "); Label lbl. Taux 1 = new Label("0"); Label lbl. Taux 2 = new Label("%"); Panel pnl. Bas = new Panel(new Grid. Layout(2, 3)); Panel pnl. Fen = new Panel(new Border. Layout()); A. Hammache

public Fenetre. Citerne() { // constructeur de la fenêtre this. set. Title("Citerne"); this. set.

public Fenetre. Citerne() { // constructeur de la fenêtre this. set. Title("Citerne"); this. set. Size(300, 200); pnl. Haut. add(lbl. Qtt); pnl. Haut. add(txt. Field); pnl. Fen. add(pnl. Haut, Border. Layout. NORTH); pnl. Centre. add(btn. Ajouter); pnl. Centre. add(btn. Retirer); pnl. Centre. add(btn. RAZ); pnl. Fen. add(pnl. Centre, Border. Layout. CENTER); pnl. Bas. add(lbl. Vol. Courant 1); pnl. Bas. add(lbl. Vol. Courant 2); pnl. Bas. add(lbl. Taux 1); pnl. Bas. add(lbl. Taux 2); pnl. Fen. add(pnl. Bas, Border. Layout. SOUTH); this. add(pnl. Fen); // ajout des écouteurs btn. Ajouter. add. Action. Listener(this); btn. Retirer. add. Action. Listener(this); btn. RAZ. add. Action. Listener(this); } A. Hammache

public void action. Performed(Action. Event arg 0) { double vol = Math. PI *

public void action. Performed(Action. Event arg 0) { double vol = Math. PI * 1 * 3*10; //volume de la citerne qtt = Double. parse. Double(txt. Field. get. Text()); qttexist=Double. parse. Double(lbl. Vol. Courant 1. get. Text()); if (arg 0. get. Action. Command(). equals("Ajouter")) { qttexist+=qtt; if ((qttexist / vol)<100) { lbl. Taux 1. set. Text( String. value. Of(qttexist / vol)); lbl. Vol. Courant 1. set. Text( String. value. Of(qttexist)); } else { lbl. Taux 1. set. Text( String. value. Of(100)); lbl. Vol. Courant 1. set. Text( String. value. Of(vol*100)); } } A. Hammache

else if(arg 0. get. Action. Command(). equals("Retirer")) { qttexist-=qtt; if ((qttexist / vol)>=0) {

else if(arg 0. get. Action. Command(). equals("Retirer")) { qttexist-=qtt; if ((qttexist / vol)>=0) { lbl. Taux 1. set. Text( String. value. Of(qttexist / vol)); lbl. Vol. Courant 1. set. Text( String. value. Of(qttexist)); } else { lbl. Taux 1. set. Text( String. value. Of(0. 0)); lbl. Vol. Courant 1. set. Text( String. value. Of(0. 0)); } } } else if(arg 0. get. Action. Command(). equals("RAZ")) { lbl. Taux 1. set. Text( String. value. Of(0. 0)); lbl. Vol. Courant 1. set. Text( String. value. Of(0. 0)); } A. Hammache

public static void main(String[] args) { Fenetre. Citerne fn=new Fenetre. Citerne(); fn. set. Visible(true);

public static void main(String[] args) { Fenetre. Citerne fn=new Fenetre. Citerne(); fn. set. Visible(true); } } A. Hammache