Un tableau de <tt>Tracable</tt>                        

Un tableau de Tracable

           

Cette classe met en évidence l'intérêt de ce que les classes CercleGraphique et CarreGraphique implémentent toutes deux l'interface Tracable. En effet, on pourra ainsi ranger un objet de type CercleGraphique ou bien CarreGraphique dans une variable destinée à recevoir un objet de type Tracable. Cela permet entre autres de faire un tableau de Tracable. C'est ce que l'on fait ici puis on applique la méthode dessine, qui est déclarée dans Tracable, sur chacune des instances du tableau.Nous n'expliquons pas ce qui concerne les interfaces graphiques car ce sujet sera traité plus tard.

import java.awt.Graphics;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class EssaiTracable extends JPanel {
  public Tracable[] desFormes = new Tracable[5];

  EssaiTracable()  {
    setPreferredSize(new Dimension(200, 200));
    desFormes[0]=new CercleGraphique(150, 200, 200, Color.black);
    desFormes[1]=new CercleGraphique(20, 130,150, Color.blue);
    desFormes[2]=new CercleGraphique(20, 270,150, Color.blue);
    desFormes[3]=new CarreGraphique(20, 200,220, Color.magenta);
    desFormes[4]=new CarreGraphique(30, 200, 300, Color.red);
  }

  public void paintComponent(Graphics g) {
    for (Tracable t : desFormes) t.dessine(g);
  }

  public static void main(String[] arg) {
    EssaiTracable monDessin = new  JFrame();
    monDessin.setContentPane(new EssaiTracable());
    monDessin.pack();
    monDessin.setVisible(true);
  }
}

Pour accéder à PanneauTracable.java.

On obtient à l'exécution :

 

Cela reste peu de choses...

© Irène Charon Télécom ParisTech 2010