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

Messages postés
29
Date d'inscription
dimanche 2 novembre 2008
Dernière intervention
25 novembre 2011
- - Dernière réponse :  Utilisateur anonyme - 17 févr. 2013 à 19:30
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


);
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
3
Merci
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.

Merci cs_Julien39 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_Julien39
1
Merci
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.
Commenter la réponse de Utilisateur anonyme
0
Merci
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
Commenter la réponse de Utilisateur anonyme
Messages postés
29
Date d'inscription
dimanche 2 novembre 2008
Dernière intervention
25 novembre 2011
0
Merci
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
Commenter la réponse de charmeurga
Messages postés
29
Date d'inscription
dimanche 2 novembre 2008
Dernière intervention
25 novembre 2011
0
Merci
Merci Julien39 ça marche
Commenter la réponse de charmeurga
Messages postés
6
Date d'inscription
vendredi 11 décembre 2009
Dernière intervention
11 février 2013
0
Merci
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
Commenter la réponse de alaaymen

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.