Dessin avec Java

Fermé
chahbane - 1 nov. 2011 à 14:27
 Utilisateur anonyme - 1 nov. 2011 à 17:50
Bonjour,

Comment faire pour dessiner une ligne dans une fenetre en JAVA. Je veux générer un code a barres. merci d avance

A voir également:

1 réponse

Utilisateur anonyme
1 nov. 2011 à 17:50
Salut,

Tu peux consulter la réponse faite ici:

https://forums.commentcamarche.net/forum/affich-18861168-affichage-code-a-barre-dans-un-programme-java

Mais si tu veux t'amuser à créer toi même un code barres en déssinant des lignes verticales (d'épaisseur et espacement variables) ce sera un bon exercice.

Voici une petite classe qui, entre autres choses montre deux exemples de déssin d'une ligne dont un pour une ligne verticale.

Les lignes sont en réalité des segments de lignes.

import javax.swing.*;
import java.awt.*;
   
  public class DessinsFiguresOuTextes extends JFrame
   {
      private int x, y;
   
      private String texte1 ="DESSIN D'UNE LIGNE:";
      private String texte2 ="DESSIN D'UNE AUTRE LIGNE:";
      private String texte3 ="UN TRIANGLE EN BONUS";
   
      private static Font font10; // POUR LES TEXTE1 ET TEXTE3
      private static Font font14; // POUR LE TEXTE2
   
      public DessinsFiguresOuTextes()
      {
         super("DESSINS DE FIGURES (OU DE TEXTES) DANS UN RECTANGLE."); // titre
      
         setSize(538, 248); // dimensions frame
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         setVisible(true);
      }
   
      public void paint(Graphics g)
     {
      
         super.paint(g);
      
         x = 0;
         y = 39;  // premiere ligne de la zone de dessin
      
      // Le rectangle dans lequel seront inscrits figures et/ou textes
         g.setColor(Color.green);
      // g.fillRoundRect(x +18, y, 502, 190); // sans angles arrondis
         g.fillRoundRect(x +18, y, 502, 190, 15, 15); // avec angles arrondis
      
      // CODE DE L'AFFICHAGE DU TEXTE1
         g.setFont(font10);
         g.setColor(Color.BLACK); // Couleur du texte
         g.drawString(texte1, x +51, y+=20);
      
      // CODE DE L'AFFICHAGE D'UNE LIGNE
            // g.drawLine(int x1, int y1, int x2, int y2);
            // x1 et y1: coordonnées gauche
            // x2 et y2: coordonnées droite
      
         y = 39;
         g.setColor(Color.BLUE); // couleur de la ligne
         g.drawLine(x + 40, y + 30, x+= 500, y +30);
         
      // CODE DE L'AFFICHAGE DU TEXTE2
         x = 0;
         g.setFont(font14);
         g.setColor(Color.red); // Couleur du texte
         g.drawString(texte2, x +51, y+=90);
      
      // CODE DE L'AFFICHAGE DE L'AUTRE LIGNE
         g.setColor(Color.black); // couleur de l'autre ligne
         g.drawLine(x +260, y, x +260, y +90);
      
      // Bonus:
      // Dessiner un triangle plein (3points)
         y = 39; //90
         Polygon triangle = new Polygon();
        triangle.addPoint(x +446, y+=110);      // point haut
         triangle.addPoint(x +496, y+=60);  // point bas droite
         triangle.addPoint(x +396, y);      // point bas gauche
         g.setColor(Color.orange);     // fond du triangle
         g.fillPolygon(triangle);      // remplissage et affichage
         //g.drawPolygon(triangle);      // affichage;
         
         g.setFont(font10);
         g.setColor(Color.white); // Couleur du texte
         g.drawString(texte3, x +385, y+=15);
      }
   
      public static void main(String[] args)
      {
         font10 = new Font("Arial", Font.BOLD, 10);
         font14 = new Font("Arial", Font.BOLD, 14);
         new DessinsFiguresOuTextes();
      }
   }


Cordialement,

Dan

0