Dessiner une grille dans mon panel ?? [Résolu]

Signaler
Messages postés
28
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
25 novembre 2011
-
 Utilisateur anonyme -
Bonsoir, voici mon problème:

Je souhaiterais dessiner une grille de 64/64 dans sur ma panel
NB:Je suis débutant en java


import java.awt.Color;
import java.awt.Graphics;
import java.util.List;
import java.awt.*;
import javax.swing.JPanel;
import java.util.ArrayList;

public class Panel extends JPanel {
/**La liste des coordonnées des carrés à dessiner*/
private List  points;
/**La liste des couleurs associées aux points*/
private List<Color> couleurs;

/**
  * Constructeur
  */
public Panel(){
super();
//Initialisation des listes
points = new ArrayList ();
couleurs = new ArrayList <Color>();
}

/**
  * Méthode qui permet d'ajouter un nouveau point
  * appelée dans le mouselistener
  */
public int addPoint(int x, int y, Color couleur){
points.add(new Point(x, y));
couleurs.add(couleur);
int i;
i=1;
return i;
}

/**
  * Méthode qui décrit la façon de dessiner les carres
  */

public void paintComponent(Graphics g){
//On dessine le fond normalement
super.paintComponent(g);
//Taille d'un carre (pour en avoir 64*64 dans le panel)
int tailleCarrex = getWidth()/64;
int tailleCarrey = getHeight()/64;

for(int i=0; i<points.size(); i++){
//Indique qu'on dessine le carre d'une certaine couleur
g.setColor(couleurs.get(i));
//dessin du carré

g.fillRect(
(int)points.get(i).getX()-tailleCarrex/2-((int)points.get(i).getX()%tailleCarrex),//x
(int)points.get(i).getY()-tailleCarrey/2-((int)points.get(i).getY()%tailleCarrey),//y
tailleCarrex,//largeur
tailleCarrey//hauteur


);

6 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
345
Bonjour

Je ne peux pas tester ce code mais si ce n'est pas ca, on ne doit pas en être bien loin :

public class Grille extends JPanel {

public void paintComponent(Graphics g){
g.setColor(Color.black);
int uniteX = getWidth()/64;
int uniteY = getHeight/64;
for(int i=0; i<64; i++){
g.drawLine(uniteX*i, 0, uniteX*i, getHeight());
g.drawLine(0, uniteY*i, getWidth(), uniteY*i);
}
}

}



Tiens moi au courant et bon courage.

Salut,

Évite d'utiliser le sujet d'une autre personne. Va créer ton propre sujet en décrivant ton problème plus précisément, car le pathfinding est quelque chose d'assez vaste et on ne voit pas de rapport immédiat avec ton problème.


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.

Salut,

Peux-tu donner plus de précisions sur ton problème stp ? Par exemple le résultat affiché, les problèmes de ton code... Ça aiderait pas mal :D

Au fait, dans ta fonction addPoint j'ai vu ça :
int i;
i=1;
return i;


Ce n'est pas la peine de créer une variable exprès pour retourner un valeur. Si tu veux, tu peux directement fairereturn 1;. Ça ne gênera pas car dans ton code, c'est toujours 1 que tu retournes.

--
Pylouq
Messages postés
28
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
25 novembre 2011

merci Pylouq pour votre inter
ja pa encore crée je cherche comment dessiner une grille

et merci d’avance ^^

je veut qu'elle soit comme ci-dessous
Messages postés
28
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
25 novembre 2011

Merci Julien39 ça marche
Messages postés
6
Date d'inscription
vendredi 11 décembre 2009
Statut
Membre
Dernière intervention
11 février 2013

Bonjour je travail sur lepathfinding et variment j'ai besoin d'un aide pour le dessin d'une grille en java
veut tu bien m'aider