Le but de la série des TPs est de créer un application qui va dessiner des formes géométriques lues dans une fichier.
Les questions sont progressives. Dans un but pédagogique, on vous demande:
public class SimpleGraphicsExample { private static void drawAll(Graphics2D graphics) { graphics.setColor(Color.BLACK); graphics.drawRect(100, 20, 40, 140); graphics.drawRect(50, 50, 0, 100); } public static void main(String[] args) { // création d'une fenêtre de 800x600 SimpleGraphics area = new SimpleGraphics("area", 800, 600); // effacement de la fenêtre area.clear(Color.WHITE); // dessin de deux rectangles area.render(SimpleGraphicsExample::drawAll); //canvas.render(graphics -> drawAll(graphics)); } }
L'appel à la méthode render
va appliquer toutes les transformations de la lambda avant de réafficher.
public class SimpleGraphicsExample { private static void drawAll(Graphics2D graphics) { graphics.setColor(Color.BLACK); graphics.drawRect(100, 20, 40, 140); graphics.drawRect(50, 50, 0, 100); } public static void main(String[] args) { // création d'une fenêtre de 800x600 SimpleGraphics area = new SimpleGraphics("area", 800, 600); // effacement de la fenêtre area.clear(Color.WHITE); // dessin de deux rectangles area.render(SimpleGraphicsExample::drawAll); //canvas.render(graphics -> drawAll(graphics)); } }
L'appel à la méthode render
va appliquer toutes les transformations de la lambda avant de réafficher.
Les dessins se font sur un objet Graphics2D
.
On peut dessiner:
drawLine(x1,y1,x2,y2)
drawRectangle(x,y,width,height)
drawOval(x,y,width,height)