Voiture en Mouvement :

download Voiture en Mouvement :

of 15

Transcript of Voiture en Mouvement :

  • 8/14/2019 Voiture en Mouvement :

    1/15

    Voiture en mouvement :

    import java.applet.*;

    import java.awt.*;

    import java.awt.event.*;

    public class Voiture extends Applet implements Runnable, ActionListener {

    Thread processus =null;

    String commande="Start";

    int e=0,test=0,temps_s=0,temps_m=0;double t1=0;

    Button arret,marche;

    Label tmp1,tmp2;

    public void init(){

    add(marche = new Button ("Stop")); marche.addActionListener(this);

    add(tmp1= new Label("0"));add(tmp2= new Label("0"));

    }

    public void actionPerformed(ActionEvent e){

    commande = e.getActionCommand();

    repaint();

    }

    public void start() {

    if (processus == null) {processus = new Thread(this);

    processus.start();

    }

    }

    public void run() {

    while (processus!=null) {

    if(e>200)e=-50;e++;

    if(temps_s>=59)

    {

    t1=0;temps_m++;

    }

    t1=t1+0.05;

    temps_s=(int)t1;repaint();

    try{processus.sleep(50);

    } catch (InterruptedException e){}

    }

    }

    public void paint(Graphics g)

    {

    if (commande.equals("Start"))

    {

    marche.setLabel("Stop");processus.resume();

    }

    if (commande.equals("Stop")){

    marche.setLabel("Start");

    processus.suspend();

    }

    String b=Integer.toString(temps_m);

    tmp2.setText(b);

    String a=Integer.toString(temps_s);

    tmp1.setText(a);

    int y,x;

    1

  • 8/14/2019 Voiture en Mouvement :

    2/15

    y=getSize().height/2;

    x=y-22;

    int z=x-15;

    g.drawRect(e+3,x,53,15 );g.setColor(Color.red);

    g.fillRect(e+3,x,53,15 );

    int cordX[]={e+10,e+15,e+45,e+50};

    int cordY[]={x,z,z,x};g.setColor(Color.black);

    g.drawPolygon(cordX, cordY, 4);

    g.setColor(Color.red);

    g.fillPolygon(cordX, cordY, 4);g.setColor(Color.black);

    g.fillOval(e+10, y-7, 14, 14);

    g.fillOval(e+38, y-7, 14, 14);g.drawRect(e+17, x-12, 10, 10);

    g.drawRect(e+32, x-12, 10, 10);

    g.setColor(Color.white);

    g.fillRect(e+17, x-12, 10, 10);g.fillRect(e+32, x-12, 10, 10);

    }

    }

    Excution :

    Incrmentre et dcrementer :

    import java.awt.*;import java.awt.event.*;

    import java.applet.*;

    public class Bouton1 extends Appletimplements ActionListener {

    int nombre;public void init() {

    nombre=0;

    //cration du bouton

    Button b = new Button("Ajouter");//insertion du bouton

    add(b);

    //choix de l'couteur

    b.addActionListener(this);}

    /******************************************** Gestion des vnements lis au systme

    *******************************************/

    public void actionPerformed(ActionEvent evt) {

    if (evt.getActionCommand().equals("Ajouter")) {nombre++;

    repaint();

    }

    }

    /**********************************************

    ** Affichage du nombre d'appuis sur le bouton

    ***********************************************/public void paint(Graphics g) {

    g.drawString(""+nombre, 50, 80);

    }}

    Excution :

    2

  • 8/14/2019 Voiture en Mouvement :

    3/15

    Calculette :

    import java.applet.*;

    import java.awt.*;import java.awt.event.*;

    import java.text.*;

    public class Calculette extends Applet

    implements ActionListener {

    /* Maximum de caractres */int maxTouches=10;

    /* Zone rsultat */

    Label result = new Label("0");

    /* Variables */

    String a = ""; /* premire entre */double c = 0; /* rsultat */

    /* drapeaux */

    int num_press = 0; /* nombre de touches presses */boolean op_press = false; /* opration en cours */

    boolean decimal=false; /* point dcimal dj crit */

    char last_op = '='; /* code opration en cours */

    /* format dcimal */

    DecimalFormat df;

    public void init() {DecimalFormatSymbols dfs=new DecimalFormatSymbols();

    dfs.setDecimalSeparator('.');

    // format d'affichage des nombres

    df=new DecimalFormat("0.######",dfs);

    Panel mp = new Panel();

    Panel p;

    result.setBackground(Color.black);

    result.setForeground(Color.green);

    result.setAlignment(Label.RIGHT);result.setFont(new Font("Monospace",Font.BOLD,12));

    setLayout(new BorderLayout());

    mp.setLayout(new GridLayout(6,1,2,2));

    add("Center",mp);mp.add(result);

    p=new Panel();

    p.setLayout(new GridLayout(1,4,2,2));

    addButton(p,"7");addButton(p,"8");

    addButton(p,"9");addButton(p,"/");mp.add(p);

    p=new Panel();

    p.setLayout(new GridLayout(1,4,2,2));

    addButton(p,"4");addButton(p,"5");

    addButton(p,"6");

    addButton(p,"*");

    mp.add(p);p=new Panel();

    p.setLayout(new GridLayout(1,4,2,2));

    addButton(p,"1");

    addButton(p,"2");addButton(p,"3");

    addButton(p,"-");

    mp.add(p);p=new Panel();p.setLayout(new GridLayout(1,4,2,2));

    3

  • 8/14/2019 Voiture en Mouvement :

    4/15

    addButton(p,"0");

    addButton(p,".");

    addButton(p,"C");

    addButton(p,"+");mp.add(p);

    p=new Panel();

    p.setLayout(new GridLayout(1,1));

    addButton(p,"=");mp.add(p);

    }

    void addButton(Panel p, String name) {Button b=new Button(name);

    b.addActionListener(this);

    p.add(b);}

    public Insets getInsets() {

    return new Insets(4,4,4,4);}

    void affiche(double d) {

    if (Double.isNaN(d)) result.setText("ERREUR");else {

    double t=Math.floor(d*1000000+0.5)/1000000;

    result.setText(df.format(t));

    }}

    public void actionPerformed(ActionEvent e) {

    String com=e.getActionCommand();switch (com.charAt(0)) {

    case 'C' :

    a="";c=0.0;

    num_press=0;

    op_press=false;

    decimal=false;affiche(c);

    break;

    case '=' :perform_calculation();

    num_press=0;

    op_press=false;

    last_op='=';

    decimal=false;affiche(c);

    break;

    case '+': case '-': case '*' : case '/':

    perform_calculation();

    affiche(c);num_press=0;

    decimal=false;

    last_op=com.charAt(0);

    op_press=true;break;

    default :

    if (num_press==0) a="";if (num_press

  • 8/14/2019 Voiture en Mouvement :

    5/15

    public void perform_calculation() {

    if (op_press) {

    switch(last_op) {

    case '+':if (!Double.isNaN(c)) c=c+strToDouble(a);

    break;

    case '-':

    if (!Double.isNaN(c)) c=c-strToDouble(a);break;

    case '*':

    if (!Double.isNaN(c)) c=c*strToDouble(a);

    break;case '/':

    if (!Double.isNaN(c)) {

    if (strToDouble(a)==0) c=Double.NaN;else c=c/strToDouble(a);

    }

    break;

    default:}

    op_press=false;

    last_op=' ';

    }else {

    c=strToDouble(result.getText());

    }

    }

    }

    import java.awt.*;

    import java.awt.event.*;

    public class AlcApp extends Frame

    implements WindowListener {

    public AlcApp() {

    setBackground(Color.lightGray);

    Calculette c=new Calculette();c.init();

    //setLayout(new BorderLayout());

    add(c,"Center");

    setTitle("Calc");//setSize(138,152);

    setResizable(false);

    pack();}

    /**

    * Gestion de l'vnement Case de fermeture

    */public void windowClosing(WindowEvent event) {

    dispose();

    System.out.println("Fermeture de l'application.");System.exit(0);

    }

    public void windowClosed(WindowEvent event) {}

    public void windowDeiconified(WindowEvent event) {}

    public void windowIconified(WindowEvent event) {}

    public void windowActivated(WindowEvent event) {}

    public void windowDeactivated(WindowEvent event) {}

    public void windowOpened(WindowEvent event) {}

    public static void main(String args[]) {

    System.out.println("Dmarrage de l'application...");

    AlcApp fr=new AlcApp();

    fr.show();fr.addWindowListener(fr);

    }

    }

    Excution :

    5

  • 8/14/2019 Voiture en Mouvement :

    6/15

    Conversion Dinar/Euro :

    import java.awt.*;

    import java.awt.event.*;import java.applet.*;

    public class AppEuro extends Frame {

    public AppEuro() {

    setTitle("Conversion Euro");

    addWindowListener(new ferme());

    Euro a=new Euro();add(a);

    a.init();

    }

    public static void main(String args[]) {

    System.out.println("Chargement en cours...");

    AppEuro app=new AppEuro();

    app.setBounds(200,100,300,200);app.show();

    }

    class ferme extends WindowAdapter {

    public void windowClosing(WindowEvent e) {

    dispose();

    System.exit(0);

    }}

    }

    import java.awt.*;

    import java.awt.event.*;

    import java.text.DecimalFormat;

    public class Euro extends java.applet.Applet implements ActionListener {

    static double valEuro=1.68;//Valeur Euro en DinarsTextField dinar;

    TextField euro;

    public void init() {Panel pan;

    Label lab;

    setBackground(Color.lightGray);

    pan=new Panel();lab=new Label("CONVERSION Dinars/EUROS");

    lab.setFont(new Font("SansSerif",Font.BOLD,16));

    pan.add(lab);add(pan);

    pan=new Panel();

    lab=new Label("Somme en Dinars : ");

    lab.setFont(new Font("Monospaced",Font.PLAIN,12));pan.add(lab);

    dinar=new TextField(10);

    dinar.addActionListener(this);

    pan.add(dinar);add(pan);

    pan=new Panel();

    6

  • 8/14/2019 Voiture en Mouvement :

    7/15

    lab=new Label("Equivalent Euros : ");

    lab.setFont(new Font("Monospaced",Font.PLAIN,12));

    pan.add(lab);

    euro=new TextField(10);euro.setEditable(false);

    euro.setBackground(Color.yellow);

    pan.add(euro);

    add(pan);pan=new Panel();

    Button bouton=new Button("Convertir");

    bouton.addActionListener(this);

    pan.add(bouton);add(pan);

    }

    public void actionPerformed(ActionEvent e) {

    if (e.getSource()==dinar || e.getActionCommand().equals("Convertir")) {

    try {

    Double FR=new Double(dinar.getText());Double EU=new Double(FR.doubleValue()/valEuro);

    DecimalFormat f=new DecimalFormat("#.00");

    euro.setText(f.format(EU.doubleValue()));

    } catch (Exception ex) {euro.setText("Erreur!");

    }

    }

    }

    public void paint(Graphics g) {

    int largeur=getSize().width;

    int hauteur=getSize().height;g.setColor(Color.gray);

    g.draw3DRect(0,0,largeur-1,hauteur-1,true);

    g.draw3DRect(4,4,largeur-9,hauteur-9,false);}

    public Insets getInsets() {

    return new Insets(6,6,6,6);}

    }

    Excution :

    Nombre Secret :

    import java.applet.*;

    import java.awt.*;

    import java.awt.event.*;

    public class PlusMoins extends Applet

    implements ActionListener {

    static int maxEssais=10;

    Label rep=new Label();

    Label essai=new Label("Essai");

    int numEssai;int nombreSecret;

    TextField prop=new TextField();

    boolean fini;

    public void init() {

    setBackground(Color.green);

    7

  • 8/14/2019 Voiture en Mouvement :

    8/15

    setLayout(new BorderLayout(8,8));

    Label titre=new Label("LE NOMBRE SECRET");

    titre.setAlignment(Label.CENTER);

    titre.setFont(new Font("SansSerif",Font.BOLD,16));titre.setBackground(Color.yellow);

    add(BorderLayout.NORTH,titre);

    Panel centre=new Panel();

    add(BorderLayout.CENTER,centre);centre.setLayout(new GridLayout(1,2,8,8));

    TextArea regle=new TextArea("",6,20,TextArea.SCROLLBARS_VERTICAL_ONLY);

    String S="L'ordinateur a choisi un nombre entre 0 et 100.";

    S=S+"\n"+"Essaie de le retrouver en tenant compte des indications fournies.";S=S+"\n"+"Tu as droit 10 essais.";

    regle.setText(S);

    regle.setEditable(false);regle.setBackground(Color.yellow);

    centre.add(regle);

    centre.add(panelJeu());

    }

    public void start() {

    numEssai=1;

    essai.setText("Essai "+numEssai);rep.setText("----------");

    prop.setText("");

    prop.setEditable(true);

    fini=false;nombreSecret=(int)Math.floor(Math.random()*101);

    prop.requestFocus();

    }

    Panel panelJeu() {

    Panel p=new Panel();

    p.setLayout(new GridLayout(4,1,8,8));Panel ps=new Panel();

    ps.setLayout(new GridLayout(1,2,8,8));

    ps.add(essai);

    ps.add(prop);prop.addActionListener(this);

    p.add(ps);

    ps=new Panel();

    Button b=new Button("Vrifier");ps.add(b);

    p.add(ps);

    b.addActionListener(this);

    p.add(rep);

    rep.setBackground(Color.yellow);rep.setAlignment(Label.CENTER);

    b=new Button("Nouveau jeu");b.addActionListener(this);

    p.add(b);

    return p;

    }

    public Insets getInsets() {

    return new Insets(8,8,8,8);

    }

    void finJeu() {

    fini=true;

    prop.setEditable(false);}

    void numEssaiSuivant() {numEssai++;

    if (numEssai>maxEssais) {

    finJeu();

    rep.setText("Perdu. Rponse="+nombreSecret);}

    else {

    essai.setText("Essai "+numEssai);

    prop.selectAll();}

    }

    void verif() {int pr;

    try {

    pr=Integer.parseInt(prop.getText());} catch (Exception e) {

    pr=-1;

    8

  • 8/14/2019 Voiture en Mouvement :

    9/15

    rep.setText("Nombre mal crit.");

    }

    if (pr

  • 8/14/2019 Voiture en Mouvement :

    10/15

    Button b=new Button(S);

    b.addActionListener(this);

    p.add(b);

    }

    public Insets getInsets() {

    return new Insets(4,4,4,4);

    }

    String calcRep(char op) {

    String S="";

    try {double a=Double.valueOf(A.getText()).doubleValue();

    double b=Double.valueOf(B.getText()).doubleValue();

    double d=0;switch (op) {

    case '+' :

    d=a+b;

    break;case '-' :

    d=a-b;

    break;

    case '*' :d=a*b;

    break;

    case '/' :

    d=a/b;break;

    }

    S=""+a+op+b+" = "+d;

    } catch (Exception e) {S="Nombre mal crit.";

    }

    return S+'\n';}

    public void actionPerformed(ActionEvent e) {

    if (e.getActionCommand().equals("Ajouter"))result.append(calcRep('+'));

    else if (e.getActionCommand().equals("Soustraire"))

    result.append(calcRep('-'));

    else if (e.getActionCommand().equals("Multiplier"))result.append(calcRep('*'));

    else if (e.getActionCommand().equals("Diviser"))

    result.append(calcRep('/'));

    }

    }

    Excution :

    Menu Restaurent :

    import java.applet.*;

    import java.awt.*;

    import java.awt.event.*;

    public class Menu extends Applet

    implements ActionListener {

    TextArea zoneTexte;Choice c1=new Choice();

    Choice c2=new Choice();

    Choice c3=new Choice();

    public void init() {

    setLayout(new BorderLayout(4,4));add("North",panelNord());

    zoneTexte=new TextArea();

    10

  • 8/14/2019 Voiture en Mouvement :

    11/15

    zoneTexte.setEditable(false);

    add("Center",zoneTexte);

    Button b=new Button("Enregistrer");

    b.addActionListener(this);add("South",b);

    }

    Panel panelNord() {Panel rep=new Panel();

    rep.setLayout(new GridLayout(3,2,2,2));

    rep.add(new Label("Entre :"));

    rep.add(c1);c1.addItem("Salade");

    c1.addItem("Charcuterie");

    c1.addItem("Saumon");rep.add(new Label("Viande :"));

    rep.add(c2);

    c2.addItem("Porc");

    c2.addItem("Veau");c2.addItem("Boeuf");

    c2.addItem("Mouton");

    rep.add(new Label("Dessert :"));

    rep.add(c3);c3.addItem("Fruits");

    c3.addItem("Glace");

    c3.addItem("Tarte");

    return rep;}

    public Insets getInsets() {

    return new Insets(2,2,2,2);}

    public void actionPerformed(ActionEvent e) {if (e.getActionCommand().equals("Enregistrer")) {

    String S="Vous avez choisi : \n"+c1.getSelectedItem()+"\n"+

    c2.getSelectedItem()+"\n"+c3.getSelectedItem()+"\n";

    zoneTexte.setText(S);}

    }

    }

    Excution :

    Chronomtre :

    import java.awt.*;

    import java.applet.*;

    import java.awt.event.*;

    public class Chrono extends Applet

    implements Runnable {

    private Thread chronometre;int speed=100;

    private int ds=0; //dixime de seconde

    public void init() {setBackground(Color.white);

    setForeground(Color.blue);

    setFont(new Font("SansSerif",Font.BOLD, getSize().height));addMouseListener(new Souris());

    }

    11

  • 8/14/2019 Voiture en Mouvement :

    12/15

    // Mthode appele par le systme au dmarrage de l'applet

    public void start () {

    // Au dbut de l'applet, cration et dmarrage du chronomtreif (chronometre==null) {

    chronometre=new Thread(this);

    chronometre.start();

    }}

    public void run () {

    while (chronometre!=null) {repaint ();

    ds++;

    try {chronometre.sleep(speed);

    } catch (InterruptedException e) {}

    }

    }

    // Mthode appele par le systme l'arrt de l'applet

    public void stop () {

    // A la fin de l'applet, arrt du chronometreif (chronometre!=null) {

    chronometre.stop();

    chronometre=null;

    }}

    public void paint (Graphics g) {

    // Dessine le temps coul sous forme de h:mm:ss:dString S=ds/36000 +":"+(ds/6000)%6+(ds/600)%10

    +":"+(ds/100)%6+(ds/10)%10+ ":" + ds%10;

    FontMetrics fm=g.getFontMetrics();int largeur=fm.stringWidth(S);

    int hauteur=fm.getHeight();

    int x=(getSize().width-largeur)/2;

    int y=(getSize().height-hauteur)/2;g.drawString(S, x, y+hauteur-fm.getDescent());

    }

    class Souris extends MouseAdapter {public void mouseClicked(MouseEvent e) {

    if (chronometre==null) start();

    else stop();

    }

    }

    }

    Excution :

    Cercle :

    import java.applet.Applet;

    import java.awt.*;

    import java.awt.event.*;

    publicclass Cercle extendsApplet

    {

    Circle c;

    /*Cration d'un cercle inintial*/

    publicvoid init()

    {

    c=new Circle();

    c.initialize(50,50);addMouseListener(new ML());

    }

    12

  • 8/14/2019 Voiture en Mouvement :

    13/15

    /*Nouveau Cercle Lors d'un Clic souris*/

    class ML extendsMouseAdapter

    {

    publicvoid mouseClicked(MouseEvent e)

    {

    c=new Circle();

    c.initialize(e.getX(),e.getY());

    repaint();

    }

    }

    /*Redessine le nouveau cercle*/

    publicvoid paint(Graphics g)

    {

    c.draw(g);

    }/*Classe de Gestion du cercle*/

    class Circle

    {

    Color color;

    int x;

    int y;

    /*Dessine un cercle*/

    void draw(Graphics g)

    {

    g.setColor(this.color);

    g.fillOval(this.x-20, this.y-20, 40, 40);

    }

    /*initialise un cercle rouge*/

    void initialize(int x,int y)

    {

    color=Color.red;this.x=x;

    this.y=y;

    }

    }

    }

    Dessin :

    import java.applet.Applet;

    import java.awt.*;

    import java.util.Random;

    publicclass DrawIt extends Applet

    {

    private CheckboxGroup choixDessin = new CheckboxGroup (); private Panel zoneDessin = new DrawItComponent (choixDessin);

    publicvoid init ()

    {

    // Choix d'un layout BorderLayout (FlowLayout par dfaut)

    setLayout (new BorderLayout ());

    // Cration de boutons radios permettant de choisir

    // la fonction de dessin utiliser

    Panel panel = new Panel ();

    panel.setLayout (new GridLayout (7, 1));

    panel.add (new Checkbox ("Ligne", choixDessin, true));

    panel.add (new Checkbox ("Rectangle", choixDessin, false));

    panel.add (new Checkbox ("Rectangle 3D", choixDessin, false));

    panel.add (new Checkbox ("Polygone", choixDessin, false));

    panel.add (new Checkbox ("Ovale", choixDessin, false));

    panel.add (new Checkbox ("Arc de cercle", choixDessin, false));

    panel.add (new Checkbox ("Texte", choixDessin, false));

    // Ajout droite des boutons radios

    add ("East", panel);

    // Ajout au centre de la zone de saisie

    add ("Center", zoneDessin);

    }

    }

    // Classe DrawItComponent

    class DrawItComponent extends Panel

    {

    privateintxDebut, yDebut,

    xFin, yFin;

    private CheckboxGroup choixDessin;

    private Color couleurDessin;

    privateint angleDebut, angle;

    private String typeDessin = "";

    // Constructeur

    13

  • 8/14/2019 Voiture en Mouvement :

    14/15

    DrawItComponent (CheckboxGroup choixDessin)

    {

    this.choixDessin = choixDessin;

    }

    // Mthodes mouseDown (), mouseDrag (), mouseUp ()

    // appeles l'enfoncement du bouton de la souris,

    // au dplacement du pointeur, et au relchement du bouton

    publicboolean mouseDown (Event evt, int x, int y)

    {

    xDebut = x;

    yDebut = y;

    dessinerElastique (x , y);

    returntrue;

    }

    publicboolean mouseDrag (Event evt, int x, int y)

    {

    // Effacement du rectangle aux anciennes coordonnes

    // puis dessin d'un nouveau rectangle aux coordonnes courantes

    dessinerElastique (xFin, yFin);

    dessinerElastique (x, y);

    returntrue;

    }

    publicboolean mouseUp (Event evt, int x, int y)

    {

    // Effacement du dernier rectangle dessin

    dessinerElastique (xFin, yFin);

    // Rcupration du type de dessin demand, d'une couleur et deux angles

    // et redessin du composant typeDessin = choixDessin.getCurrent ().getLabel ();

    Random generateur = new Random ();

    couleurDessin = new Color (generateur.nextFloat (),

    generateur.nextFloat (),

    generateur.nextFloat ());

    angleDebut = generateur.nextInt () % 360;

    angle = generateur.nextInt () % 360;

    repaint ();

    returntrue;

    }

    // Mthode dessinerElastique () : mmorise les coordonnes

    // courantes, puis trace un rectangle en mode XOR

    privatevoid dessinerElastique (int xFin, int yFin)

    {

    this.xFin = xFin;

    this.yFin = yFin;Graphics gc = getGraphics ();

    gc.setXORMode (getBackground ());

    gc.drawRect (Math.min (xDebut, xFin), Math.min (yDebut, yFin),

    Math.abs (xFin - xDebut), Math.abs (yFin - yDebut));

    }

    // Mthode appele la mise jour du composant

    publicvoid paint (Graphics gc)

    {

    // Slection de la couleur

    gc.setColor (couleurDessin);

    // Appel de la mthode de dessin suivant le type de dessin choisi

    int x = Math.min (xDebut, xFin);

    int y = Math.min (yDebut, yFin);

    int largeur = Math.abs (xFin - xDebut);

    int hauteur = Math.abs (yFin - yDebut); if (typeDessin.equals ("Ligne"))

    gc.drawLine (x, y, x + largeur, y + hauteur);

    elseif (typeDessin.equals ("Rectangle"))

    gc.fillRect (x, y, largeur, hauteur);

    elseif (typeDessin.equals ("Rectangle 3D"))

    gc.fill3DRect (x, y, largeur, hauteur, true);

    elseif (typeDessin.equals ("Polygone"))

    {

    int xPoints [ ] = {x, x , x + largeur, x + largeur};

    int yPoints [ ] = {y, y + hauteur, y, y + hauteur};

    gc.fillPolygon (xPoints, yPoints, xPoints.length);

    }

    elseif (typeDessin.equals ("Ovale"))

    gc.fillOval (x, y, largeur, hauteur);

    elseif (typeDessin.equals ("Arc de cercle"))

    {

    gc.drawOval (x, y, largeur, hauteur);

    gc.fillArc (x, y, largeur, hauteur, angleDebut, angle);

    }

    14

  • 8/14/2019 Voiture en Mouvement :

    15/15

    elseif (typeDessin.equals ("Texte"))

    {

    gc.setFont (new Font ("Helvetica", Font.PLAIN, hauteur));

    FontMetrics tailles = gc.getFontMetrics ();

    gc.drawString ("Texte", x, y + tailles.getAscent ()

    + tailles.getLeading ());

    }

    }

    }

    Excution :

    15