Dessiner un cercle en Java
-
Dessiner un cercle en utilisant la fonction
drawOval()
en Java -
Dessiner un cercle en utilisant la fonction
drawRoundRect()
en Java -
Dessiner un cercle en utilisant
Shape
etdraw()
en Java
Dans cet article, nous allons présenter comment nous pouvons dessiner un cercle en Java en utilisant les bibliothèques java.awt
et javax.swing
qui sont utilisées pour créer des composants d’interface graphique. Nous utiliserons plusieurs fonctions de la classe Graphics2d
qui fournit plus de contrôle sur les composants graphiques que nous voulons dessiner à l’écran.
Dessiner un cercle en utilisant la fonction drawOval()
en Java
Dans le premier exemple, nous utilisons la méthode drawOval()
de la classe Graphics2D
qui pourrait créer des formes ovales, mais pour créer un cercle parfait. Pour dessiner le cercle, nous surpassons d’abord la fonction paint(Graphics g)
qui a peint le composant en utilisant la classe Graphics
.
Nous remplaçons Graphics
en type Graphics2D
pour utiliser ses méthodes et ses propriétés. Maintenant, nous appelons la fonction drawOval()
et nous lui passons quatre arguments. Les deux premiers arguments sont les coordonnées x et y du cercle, tandis que les deux derniers arguments spécifient la largeur et la hauteur du cercle à dessiner.
Enfin, nous étendons JFrame
du paquet javax.swing
pour créer un cadre de fenêtre avec la taille et les propriétés spécifiées.
import java.awt.*;
import javax.swing.*;
public class DrawCircle extends JFrame {
public DrawCircle() {
setTitle("Drawing a Circle");
setSize(400, 400);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
@Override
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.drawOval(150, 150, 100, 100);
}
public static void main(String[] args) {
new DrawCircle();
}
}
Production :
Dessiner un cercle en utilisant la fonction drawRoundRect()
en Java
Une autre méthode de la classe Graphics2D
appelée drawRoundRect()
peut également être utilisée pour dessiner un cercle. Comme son nom l’indique, elle permet de peindre un rectangle arrondi. Tout comme dans le premier exemple, nous surpassons la fonction paint(Graphics g)
et appelons ensuite la méthode drawRoundRect()
de la classe Graphics2D
.
La fonction drawRoundRect()
accepte six arguments ; les deux premiers sont des coordonnées x et y, les deux suivants indiquent la largeur et la hauteur, et les deux derniers arguments sont la largeur et la hauteur de l’arc.
import java.awt.*;
import javax.swing.*;
public class DrawCircle extends JFrame {
public DrawCircle() {
setTitle("Drawing a Circle");
setSize(250, 250);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
@Override
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.drawRoundRect(40, 50, 90, 90, 200, 200);
}
public static void main(String[] args) {
new DrawCircle();
}
}
Production :
Dessiner un cercle en utilisant Shape
et draw()
en Java
draw()
est une autre fonction de la classe graphics2D
qui prend une Shape
comme argument. Shape
est une interface qui fournit les propriétés d’une forme géométrique. Nous voulons un cercle ici, donc nous utiliserons Ellipse2D.Double()
qui définit la hauteur et la largeur de l’ellipse ainsi que les coordonnées x et y du rectangle de cadrage.
Dans l’exemple ci-dessous, nous passons les arguments à Ellipse2D.Double()
, et un objet Shape
créé à la méthode draw()
. Cette méthode va finalement dessiner un cercle dans la fenêtre que nous avons créée à l’aide de JFrame
.
import java.awt.*;
import java.awt.geom.Ellipse2D;
import javax.swing.*;
public class DrawCircle extends JFrame {
public DrawCircle() {
setTitle("Drawing a Circle");
setSize(250, 250);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
@Override
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
Shape circleShape = new Ellipse2D.Double(100, 100, 100, 100);
g2d.draw(circleShape);
}
public static void main(String[] args) {
new DrawCircle();
}
}
Production :
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn