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