Posez votre question Signaler

Dessin en java [Résolu]

moukito - Dernière réponse le 22 nov. 2011 à 13:44
Bonjour,
Je débute en Java. est-ce que quelqu'un pourrait me donner un code en java (sur Eclipse) qui permet de dessiner un tableau de case (une sorte grille ) et dans chacune des cases, dessine un autre objet (par exemple un cercle bien centré dans la case).
en fait, ça m'aiderait bien à avancer dans mon devoir projet, de savoir comment faire ça!
Merci d'avance ^^
Lire la suite 

Dessin en java »

3 réponses
Réponse
+0
moins plus
Salut,

J'ai modifié un petit truc qui correspond (à peu prés) à ce que tu veux:
import java.awt.*; 
   import javax.swing.*; 
   import java.util.*;


   public class DessinDansPanel extends JPanel 
   {
   
      public static void Fenetre()
      { 
         try
         {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
         }
         
            catch (UnsupportedLookAndFeelException e)
            {
               System.out.println(e);
            }
             
            catch (ClassNotFoundException e)
            {
               System.out.println(e);
            }
             
            catch (InstantiationException e)
            {
               System.out.println(e);
            }
             
            catch (IllegalAccessException e)
            {
               System.out.println(e);
            } 
      
      
         JFrame fenetre = new JFrame(); 
         fenetre.setSize(400, 400); 
         fenetre.setTitle("Des cercles pleins dans les cases d'une grille."); 
         JPanel panneau = new DessinDansPanel(); 
         panneau.setBackground(Color.green); 
         fenetre.add(panneau); 
         fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
         fenetre.setVisible(true); 
      } 
   
      @Override 
      public void paintComponent(Graphics g)
      { 
         super.paintComponent(g); 
         int larg = getWidth(); 
         int haut = getHeight();
         //g.setColor (Color.black); // black par défaut
         
      	// Pour dessiner une ligne:
      	//drawLine(int x1, int y1, int x2, int y2)
      	
      	// Pour dessiner un cercle (un oval de diametre horizontal = diametre vertical)
         /*g.setColor(Color.blue); // couleur de remplissage
         g.fillOval(x, y, diametre_horizontal, diametre_vertical); // remplissage (fill)
         g.setColor(Color.green);  // couleur du panel pour que ce soit (un peu) plus net
         g.drawOval(x, y, diametre_horizontal, diametre_vertical); // affichage, dessiner (draw) */
      
         int dim = 20; //dimension d'une case de la grille
         
         // La grille:
         for(int i = 0; i < larg; i +=dim)
         {
            g.drawLine(i,0,i, haut); // Les lignes verticales de la grille
            g.drawLine(0,i,larg, i); // Les lignes horizontales de la grille
            System.out.println(i);
         }
         
         for(int j = 0; j < haut; j +=dim)
         {	
         // Un cercle plein dans chaque case:
            for(int i = 0; i < larg; i +=dim)
            {
               g.setColor(Color.blue);   // couleur de remplissage
               g.fillOval(i, j, 20, 20); // remplissage (fill)
               g.setColor(Color.green);  // couleur du panel
               g.drawOval(i, j, 20, 20); // affichage, dessiner (draw)
               g.setColor (Color.black);
            }
         }
      }
      
      public static void main (String [] arg)
      { 
         Fenetre();
      }
   }

J'attend tes éventuelles questions.

Dan
Ajouter un commentaire
Réponse
+0
moins plus
Ps,

Remplacer les dimensions en dur 20, 20 des cercles par dim (la dimension des cases de la grille).
Ce qui permetra en ne modifiant modifiant que la valeur de dim, de modifier la dimension des cases et des cercles

{
               g.setColor(Color.blue);   // couleur de remplissage
               //g.fillOval(i, j, 20, 20); // remplissage (fill)
               g.fillOval(i, j, dim, dim); // remplissage (fill)

               g.setColor(Color.green);  // couleur du panel
               //g.drawOval(i, j, 20, 20); // affichage, dessiner (draw)
               g.drawOval(i, j, dim, dim); // affichage, dessiner (draw)

               g.setColor (Color.black);
            }


Dan
moukito - 22 nov. 2011 à 13:44
ok! merci pr ta réponse! j'essaie ça tt de suite!!!
Ajouter un commentaire
Ce document intitulé « Dessin en java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?