charmeurga
Messages postés28Date d'inscriptiondimanche 2 novembre 2008StatutMembreDernière intervention25 novembre 2011
-
24 juin 2011 à 00:03
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
);
É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.
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.