Dessiner un triangle en Java

Rupam Yadav 12 octobre 2023
  1. Utilisez java.awt et javax.swing avec Path2D pour dessiner un triangle en Java
  2. Utilisez java.awt, javax.swing et drawPolygon pour dessiner un triangle en Java
  3. Dessiner un triangle en utilisant drawLine() en Java
Dessiner un triangle en Java

Dans cet article, nous apprendrons comment dessiner un triangle à Java. Nous utilisons AWT (Abstract Window Component Toolkit), les premiers paquets de développement java pour les applications de programmation graphique. Swing est un nouveau kit de widgets pour Java, basé sur AWT et qui offre plus de fonctionnalités.

Utilisez java.awt et javax.swing avec Path2D pour dessiner un triangle en Java

Nous utilisons JFrame dans la classe main pour créer la fenêtre principale où les composants comme les boutons, les champs de texte sont ajoutés pour créer une interface utilisateur graphique (GUI). La classe Draw_A_Triangle étend JPanel, qui est un conteneur léger utilisé pour organiser les composants de l’interface graphique. JPanel est ajouté à JFrames en utilisant la méthode frame.add().

La classe Triangle_Shape étend la classe Path2D qui fournit une forme simple mais flexible qui représente un chemin géométrique arbitraire. Nous plaçons le premier point en utilisant la méthode moveTo() et les points supplémentaires en utilisant la méthode LineTo(). La méthode close() s’assure que le triangle est correctement fermé.

La méthode paintComponent() est appelée automatiquement lorsque le panneau est créé ou lorsque l’utilisateur fait quelque chose dans l’interface utilisateur qui nécessite un redessin. La méthode Graphics2D permet de mieux contrôler la gestion des couleurs, la géométrie et la disposition du texte. Enfin, nous utilisons g2d et appelons draw pour dessiner un triangle.

import java.awt.*;
import java.awt.geom.Path2D;
import java.awt.geom.Point2D;
import javax.swing.*;

public class Draw_A_Triangle extends JPanel {
  public void paintComponent(Graphics g) {
    Triangle_Shape triangleShape = new Triangle_Shape(
        new Point2D.Double(50, 0), new Point2D.Double(100, 100), new Point2D.Double(0, 100));
    Graphics2D g2d = (Graphics2D) g.create();
    g2d.draw(triangleShape);
  }
  public static void main(String[] args) {
    JFrame.setDefaultLookAndFeelDecorated(true);
    JFrame frame = new JFrame("Draw Triangle");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBackground(Color.white);
    frame.setSize(200, 200);

    Draw_A_Triangle panel = new Draw_A_Triangle();
    frame.add(panel);
    frame.setVisible(true);
  }
}
class Triangle_Shape extends Path2D.Double {
  public Triangle_Shape(Point2D... points) {
    moveTo(points[0].getX(), points[0].getY());
    lineTo(points[1].getX(), points[1].getY());
    lineTo(points[2].getX(), points[2].getY());
    closePath();
  }
}

Production :

Dessiner un triangle en Java - moveTo

Utilisez java.awt, javax.swing et drawPolygon pour dessiner un triangle en Java

Nous utilisons JFrame pour créer un conteneur de niveau supérieur, puis nous y ajoutons un panneau, qui est notre classe DrawATriangle qui étend JPanel.

Comme le montre le code ci-dessous, nous appelons la méthode drawPolygon à l’intérieur de paintComponent pour créer un triangle sur l’objet Graphics g.

La méthode drawPolygon(int x[], int y[], int numOfPoints) dessine un polygone de contour selon les coordonnées spécifiées dans les tableaux x[] et y[]. La méthode numOfPoints donne le nombre de points qui est de 3 dans le cas d’un triangle.

import java.awt.*;
import javax.swing.*;

public class DrawATriangle extends JPanel {
  public void paintComponent(Graphics g) {
    int[] x = {50, 100, 0};
    int[] y = {0, 100, 100};
    g.drawPolygon(x, y, 3);
  }

  public static void main(String[] args) {
    JFrame.setDefaultLookAndFeelDecorated(true);
    JFrame frame = new JFrame("Draw a Polygon");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBackground(Color.white);
    frame.setSize(300, 200);

    DrawATriangle panel = new DrawATriangle();
    frame.add(panel);
    frame.setVisible(true);
  }
}

Production :

Dessiner un triangle en Java - drawPolygon

Dessiner un triangle en utilisant drawLine() en Java

Dans la classe DrawTriangle, nous étendons JComponent pour utiliser les composants Swing comme paintCompnent() et JFrame. Nous remplaçons paintComponent(Graphics g) par le paramètre Graphics g que nous pouvons utiliser pour appeler plusieurs fonctions de dessin.

Nous appelons la méthode drawLine() pour dessiner une ligne. Comme nous voulons créer un triangle de trois lignes, nous devons appeler la méthode drawLine() trois fois. La méthode drawLine() prend quatre arguments, les coordonnées x et y du premier et du second point de la ligne.

La méthode getPreferredSize() est appelée avec le type de retour de Dimension pour spécifier les dimensions de la fenêtre. Enfin, pour afficher le triangle, nous créons un objet JFrame dans la méthode main et y ajoutons l’objet de la classe DrawTriangle. Notez que nous devons appeler jFrame.setVisible(true) car le cadre est initialement invisible.

import java.awt.*;
import javax.swing.*;

public class DrawTriangle extends JComponent {
  @Override
  protected void paintComponent(Graphics g) {
    super.paintComponent(g);

    g.drawLine(120, 130, 280, 130);
    g.drawLine(120, 130, 200, 65);
    g.drawLine(200, 65, 280, 130);
  }

  public Dimension getPreferredSize() {
    return new Dimension(500, 300);
  }

  public static void main(String[] args) {
    JFrame jFrame = new JFrame();
    jFrame.add(new DrawTriangle());
    jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jFrame.pack();
    jFrame.setVisible(true);
  }
}

Production :

Dessiner un triangle en Java - drawline

Auteur: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

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

Article connexe - Java GUI