Module Info31 – L2 Sciences & Techniques Université de Bourgogne Dominique Michelucci
TP3
Dessiner avec java
Pour dessiner (non récursif) avec Java, utilisez la base du programme dessineSegment.java qui est
disponible sur ufrsciencestech. Seules les parties en rouge doivent être adaptées.
// d'après http://docs.oracle.com/javase/tutorial/2d/geometry/examples/ShapesDemo2D.java
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
public class dessineSegment extends JApplet {
final static Color bg = Color.white; // définitions des couleurs
final static Color fg = Color.black;
final static Color red = Color.red;
final static Color white = Color.white;
public void init() {
//choix des couleurs d'arrière-plan et de tracé
setBackground(bg);
setForeground(fg);
}
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
int espacement = 100; //========= initialisations
int x = 50;
int y = 10;
int rectWidth = 80;
int rectHeight = 80;
//========= dessin proprement dit
// segment : donner les coordonnées x et y des deux points
g2.draw(new Line2D.Double(x, y+rectHeight-1, x + rectWidth, y));
// déplacement et changement de couleur
x += espacement;
g2.setPaint(red);
// carre : utiliser le rectangle
// donner les coordonnées x et y du point en haut à gauche
// ainsi que longueur et largeur
g2.draw(new Rectangle2D.Double(x, y, rectWidth, rectHeight));
} // fin de paint
public static void main(String s[]) {
JFrame f = new JFrame("segment et carré");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});
JApplet applet = new dessineSegment();
f.getContentPane().add("Center", applet);
applet.init();
f.pack();
f.setSize(new Dimension(300,150)); // taille de la fenêtre
f.setVisible(true);
} // fin du main
}// fin de la classe
TP3-1-