Jeu de dames

Fermé
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 - 27 déc. 2013 à 18:41
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 28 déc. 2013 à 23:56
Bonjour, je suis en train de programmer un jeu de dames en java et j'aimerai créer une classe Pion qui aurait pour attribut l'image de ce pion, et ses coordonnées sur le plateau. Alors j'ai d'abord créé deux classes pour faire apparaître une fenêtre :


import javax.swing.*;
import java.awt.*;

public class Grille extends JFrame
{
private Fond fond = new Fond();

public Grille()
{
this.setSize(516,539);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setTitle("Dames");
this.setContentPane(fond);
this.setVisible(true);
}
}




import java.awt.*;
import javax.swing.*;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class Fond extends JPanel
{


public void paintComponent(Graphics g)
{
PionBlanc p = new PionBlanc();
try{
Image im = ImageIO.read(new File("C:\\Imagesbluej\\rayons.jpg"));
g.drawImage(p.img,0,0,this);
}
catch(IOException e)
{
e.printStackTrace();
}


}
}




Et la classe Pion :

import java.awt.*;
import javax.swing.*;

public class PionBlanc extends JFrame
{
private Fond frame = new Fond();
public Image img = frame.getToolkit().getImage("C\\Imagesbluej\\carrejaune.jpg");
public PionBlanc()
{

MediaTracker tracker=new MediaTracker(frame);

tracker.addImage(this.img,0);

try {
tracker.waitForAll();
}
catch (InterruptedException e)
{
System.out.println("Impossible de lire l'image ");

}


}


}


Mais il ne se passe rien sur la fenêtre, alors quelle ligne de code est-ce que j'ai foiré ?
Merci d'avance !
A voir également:

2 réponses

BabyPtero Messages postés 7 Date d'inscription samedi 28 décembre 2013 Statut Membre Dernière intervention 4 janvier 2014
28 déc. 2013 à 23:17
Salut, je n'ai pas les images je ne peux pas tester ton programme.

As-tu réalisé des tests pour voir si les images sont bien chargées ? C'est la première chose à vérifier.
0
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
28 déc. 2013 à 23:56
À propos du chargement des images, il est très important de les mettre ailleurs que dans la méthode paintComponent, celle-ci peut-être appelée plusieurs milliers de fois (lors de redimensionnements de la frame par exemple), il est donc aberrant d'aller lire l'image dans le fichier à chaque fois alors que celui-ci ne change jamais !

Quant au MediaTracker tu n'as pas besoin de te compliquer inutilement la tâche...

Tu peux t'inspirer de ce code :
https://forums.commentcamarche.net/forum/affich-27982922-image-de-fond-jframe
0