TP3 Dessiner avec java - Serveur pédagogique UFR Sciences et

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-
Module Info31 – L2 Sciences & Techniques Université de Bourgogne Dominique Michelucci
Pour dessiner en récursif avec Java, utilisez la base du programme dessineRec.java qui est disponible
sur ufrsciencestech. Seules les parties en bleu sont différentes de la version non récursive.
// 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 dessineRec extends JApplet {
final static Color bg = Color.white;
final static Color fg = Color.black;
final static Color red = Color.red;
final static Color white = Color.white;
public void init() {
//Initialize drawing colors
setBackground(bg);
setForeground(fg);
}
public void paint(Graphics g) {
dessine(g);
}
public void dessine(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
int espacement = 100;
int x = 50;
int y = 10;
int rectWidth = 80;
int rectHeight = 80;
// 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));
}
public static void main(String s[]) {
JFrame f = new JFrame("pour récursif");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});
JApplet applet = new dessineRec();
f.getContentPane().add("Center", applet);
applet.init();
f.pack();
f.setSize(new Dimension(300,150));
f.setVisible(true);
}
}
Ecrivez et testez les programmes de fractales vues en TD.
TP3-2-
1 / 2 100%

TP3 Dessiner avec java - Serveur pédagogique UFR Sciences et

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !