La classe StdDraw définit un ensemble de méthodes permettant à nos programmes Java de produire des sorties graphiques en 2D. Il s’agit d’une couche d’abstraction simple à Java Swing, à usage pédagogique. Elle a été conçue par Robert Sedgewick et Kevin Wayne.

Les méthodes de l’interface de StdDraw peuvent être classées en deux catégories :

La documentation de référence est accessible ici, mais les principales méthodes en sont présentées ci-dessous.

Méthodes de Base

Pour le dessin

public static void line(double x0, double y0, double x1, double y1) // trace un segment
public static void point(double x, double y)
public static void circle(double x, double y, double r)
public static void rectangle(double x, double y, double halfWidth, double halfHeight) // attention aux paramètres

<aside> 💡 Note : Par défaut,

Pour le contrôle

public static void setXscale(double min, double max) // fixe l'amplitude des abscisses dans la fenêtre
public static void setYscale(double min, double max) // fixe l'amplitude des ordonnées dans la fenêtre
public static void setPenRadius(double r)            // fixe l'épaisseur du trait
public static void setPenColor(Color color)
public static void show(int t)                       // raffraichit le dessin

Pour l’écriture

public static void text(double x, double y, String s)
public static void setFont(Font f)

Pour l’interaction

public static boolean mousePressed() // indique si un des boutons de souris est enfoncé
public static double mouseX()        // abscisse du pointeur de souris
public static double mouseY()        // ordonnée du pointeur de souris

Exemple d’utilisation

Programme Triangle (télécharger le fichier Triangle.java)

public class Triangle {
       public static void main(String[] args) {
           double t = Math.sqrt(3.0) / 2.0;
           StdDraw.line(0.0, 0.0, 1.0, 0.0);
           StdDraw.line(1.0, 0.0, 0.5, t);
           StdDraw.line(0.5, t, 0.0, 0.0);
           StdDraw.point(0.5, t/3.0);
           StdDraw.text(0.5, 0.5, "Un joli triangle");
       }
}

Compilation / exécution (télécharger le fichier StdDraw.java ici