Besoin d'aide: pb affichage rectangle (trivial surement) - Java - Programmation
Marsh Posté le 07-11-2004 à 19:49:39
euh
public class Jeton extends Rectangle2D.Double |
c'est quoi l'idée derrière ce choix .... pour le moins discutable !?
Marsh Posté le 08-11-2004 à 10:14:34
Ca c'est le prof qui nous a présenté une correction avec Rectangle2D.Double.
Sinon lorsque je déclare une grille elle s'affiche correctement mais aucun jeton n'apparrait (je devrais voir des carrés rouges à l'intérieur ??)
Marsh Posté le 08-11-2004 à 10:32:11
Essaye ca!
Code :
|
Marsh Posté le 08-11-2004 à 10:34:21
pourquoi étendre JPanel ?
Marsh Posté le 08-11-2004 à 10:42:32
Pwill a toi de répondre.
Moi je me suis juste contenter de faire en sorte que ces "jetons" s'affichent.
Marsh Posté le 08-11-2004 à 10:44:41
ah merde 'scuze phna, c'est un prof neuneu et ça souffre pas d'explication.
Marsh Posté le 08-11-2004 à 10:50:53
Le plus éffrayant comme l'a signalé Moins Moins c'est l'implémentation de sa classe Jeton qui hérite de Rectangle2D.Double.
Marsh Posté le 08-11-2004 à 11:02:11
phna > je dois avouer que je ne suis hostensiblement *pas* allé voir de quoi il en retournait dans la javadoc, parce que je suis un peu fragile en ce moment. Mais je subodore ...
c'est comme de faire hériter son composant de MachinListener.
Marsh Posté le 08-11-2004 à 13:30:19
Oui ben moi je suis bêtement que le prof nous explique ou nous montre de sa solution...
J'essaye ca tout à l'heure ! Merci
Ben sinon ma classe Grille est un JPanel utlisé dans un Applet que je n'ai pas indiqué... vu que le java c'est pas encore très net dans ma tête... je ne peux en dire plus.
Marsh Posté le 08-11-2004 à 19:23:08
J'ai essayé de reprendre proprement le code avec ce que proposait phnatomass, mais rien de ce que j'ai essayé ne marche.
Je ne vois pas pourquoi je n'ai pas de rectangle rouge qui s'affiche dans les cases.
Je suppose que ca vient de l'instanciation des jetons ??
Comment voir le problème avec le debugger sous eclipse (je ne sais pas faire) ?
Code :
|
Code :
|
Merci de votre aide dans tous les cas
Marsh Posté le 08-11-2004 à 20:19:28
public class Grille extends JPanel
{
private final int x=0;
private final int y=0; ;
private int nbLignes, nbColonnes ;
int largeur, hauteur ;
Jeton tabJeton[][];
public Grille()
{
this.nbLignes=3;
this.nbColonnes=3;
this.largeur=75;
this.hauteur=75;
this.creerJetons();
}
private void creerJetons(){
tabJeton = new Jeton[nbLignes][nbColonnes];
for (int i = 0; i < nbLignes; i++)
for (int j = 0; j < nbColonnes; j++)
tabJeton[i][j] = new Jeton(j*largeur,
i*hauteur, Color.RED, y+i*hauteur + 3,
largeur - 6, hauteur - 6);
tabJeton[0][0] = null;
}
public void paint(Graphics g)
{
g.setColor(Color.BLACK);
for(int i=0 ; i<=nbLignes ; i++)
{
g.drawLine(x, i*hauteur, x+nbColonnes*largeur, i*hauteur) ;
}
for(int i=0 ; i<=nbColonnes ; i++)
{
g.drawLine(i*largeur, y, i*largeur, y+nbColonnes*hauteur) ;
}
for (int i=0; i<nbColonnes; i++){
for (int j=0; j < nbLignes; j++){
if (tabJeton[i][j] != null) tabJeton[i][j].paint(g);
}
}
}
}
Marsh Posté le 09-11-2004 à 13:54:59
Je te remercie beacoup, j'ai pas étudié plus que ca encore mais ca marche. Y'a plus qu'a arranger le tout et avancer dans le taquin...
Merci
Marsh Posté le 07-11-2004 à 12:53:35
Hello,
j'ai 2 classes Jetons et Grille ainsi:
Le problème est que je ne parviens pas à afficher de rectangle coloré dans les cases de la Grille. Vous voyez pourquoi ? J'utilise mal les 2 méthodes paint ?
Merci d'éclairer un débutant
Message édité par Pwill le 07-11-2004 à 14:45:00