La librairie Swing de Java permet de dessiner directement sur un JComponent à l'aide des méthodes de Graphics2D.
Il est même possible d'avoir quelque chose de joliment anti-aliasé ! Seulement, pour ça, il faut dessiner à l'aide de Shapes. Il y a des formes prédéfinies (arcs, ellipses, rectangles droits et arrondis, polygones, …), mais si on veut créer des formes personnalisées, il faut passer par un GeneralPath construit à partir de courbes de Bézier.
Et en construisant une forme personnalisée contenant un quart de cercle, j'ai cherché comment placer les points de façon optimale pour que la courbe s'approche le plus possible d'un quart de cercle. Pour ça, j'ai fait un peu de mathématiques… Lire le reste de cet article »