Dessin en java

Résolu/Fermé
moukito - 17 nov. 2011 à 23:16
 moukito - 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 ^^

A voir également:

2 réponses

Utilisateur anonyme
21 nov. 2011 à 18:52
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
0
Utilisateur anonyme
22 nov. 2011 à 11:44
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
0
ok! merci pr ta réponse! j'essaie ça tt de suite!!!
0