Cette applet n'est pas bien impressionnante. Son travail est de lire les caractéristiques d'un rectangle dans un fichier et de tracer en consécence le rectangle.
Voici le programme.
import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Graphics; import java.io.InputStream; import java.net.URL; import java.util.Scanner; import javax.swing.BorderFactory; import javax.swing.JApplet; import javax.swing.JPanel; @SuppressWarnings("serial") class Interieur extends JPanel { int x, y, largeur, hauteur; Interieur(int x, int y, int largeur, int hauteur) { super(); this.x = x; this.y = y; this.largeur = largeur; this.hauteur = hauteur; setBorder(BorderFactory.createLineBorder(Color.BLACK)); setBackground(Color.YELLOW); setPreferredSize(new Dimension(2 * x + largeur, 2 * y + hauteur)); } public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.RED); g.drawRect(x, y, largeur, hauteur); } } @SuppressWarnings("serial") public class Carte extends JApplet { String nomFichier = getParameter("fichier"); public void init() { try { URL url = Carte.class.getResource(nomFichier); int x, y, largeur, hauteur; InputStream data = url.openStream(); /* ou bien InputStream data = Carte.class.getResourceAsStream(nomFichier); */ Scanner lecteur = new Scanner(data); x = lecteur.nextInt(); y = lecteur.nextInt(); largeur = lecteur.nextInt(); hauteur = lecteur.nextInt(); setLayout(new FlowLayout(FlowLayout.CENTER)); add(new Interieur(x, y, largeur, hauteur)); } catch(Exception exc) { showStatus(exc.toString()); } } }
Le programme
Le fichier de données
© Irène Charon, Télécom ParisTech 2011