Jeu de dames
parousky
Messages postés
325
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
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 !
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:
- Jeu de dames
- 94 jeu - Télécharger - Puzzle & Réflexion
- 94 degrés jeu - Télécharger - Divers Jeux
- Jeu zuma - Télécharger - Jeux vidéo
- Jeu de dames 20 pions gratuit télécharger - Télécharger - Société
- Logo jeu - Télécharger - Jeux vidéo
2 réponses
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.
As-tu réalisé des tests pour voir si les images sont bien chargées ? C'est la première chose à vérifier.
À 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
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