Youpie ! J'ai besoin de votre aide ! Svp !

Signaler
Messages postés
2
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
9 juin 2004
-
Messages postés
333
Date d'inscription
dimanche 25 mai 2003
Statut
Membre
Dernière intervention
23 novembre 2009
-
Je débute en Java, j'ai besoin de votre savoir, j'ai réalisé un jeu de Backgammon. Ce n'est pas un applet, je programme avec JCreator, mon gros problème du moment c'est d'afficher une texture en fond, ici texture bois pour le plateau pour faire joli... Mais rien ne marche, je n'arrive pas a faire marcher TexturePaint d'une part, mais cela ne m'étonne pas trop de moi... Sinon j'ai réussi à afficher une texture jpg (affichage met bcp de tps normal ?). Mais je n'arrive pas a connaitre l'url absolue de l'image, elle sera dans un sous dossier /fonds/fond.jpg, mais le prog me renvoie des IOException, ne trouve pas le fichier "/fonds/fond.jpg" non plus si c'est dans le même dossier, il a besoin de l'url absolue pour marcher... Ya pas qqchose qui me donnerai l'url de la ou est compilé/executé mon prog.

Extrait de mon code :

// Initialisation des variables pour le dessin adaptif
int w=getWidth();
int h=getHeight();
h=h-h/21;
int d=w/14;
int e=h/10;
Color blanc=new Color(255,255,255);
Color noir=new Color(0,0,0);
Color pastel=new Color(128,128,128);

if (Back.tr==1) {
Image img = getToolkit().getImage(Application.path+"/fond.jpg");
g2.drawImage(img,0,0,this);
}
// Dessin des différents cadres
// g2.setColor(Color.green.darker().darker()); // Couleur du fond
// g2.fillRect(0,0,w-1,h-1);
/*BufferedImage img;
try {
img=(BufferedImage)ImageIO.read(new File("D:/fond.jpg"));
//g2.setPaint(new TexturePaint(img,new Rectangle(0,0,w-1,h-1)));
//g2.fillRect(0,0,w-1,h-1);
g2.drawImage(img,0,0,this);
} catch (IOException ex) {
System.out.println("Fichier Introuvable");
} catch (NullPointerException ex) {
}*/
g2.setColor(noir);
g2.drawRect(0,0,w-1,h-1);
g2.drawRect(6*d,0,d,h-1);
g2.drawRect(6*d+d/6,d/6,d-d/3,h-1-d/3);
g2.drawRect(13*d,0,d,h-1);
g2.drawRect(13*d+d/6,d/6,d-d/3,h-1-d/3);

3 réponses

Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
regarde les sources du site suis dur kil y a ta réponse sinon va ici

pour tes url fais ca (cela permet de pecho direct le repertoire de ton projet

private URL getURL(String file){
URL url = null;
try{
File f = new File(System.getProperty("user.dir") + "//" + file);
url = f.toURL();
}catch(MalformedURLException e){
System.out.println(e.getMessage());
}
return url;
}

exemple d'utilisation ici je change l'icone de mes frames
private void Icone(){
Toolkit test = Toolkit.getDefaultToolkit();
Image myimg = test.getImage(getURL("ressources//icone.gif"));//ici icone.gif se situe dans le repertoire ressource de mon exe
setIconImage(myimg);
}
Messages postés
2
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
9 juin 2004

Merci beaucoup,

Image img=test.getImage(System.getProperty("user.dir")+"//fond.jpg"); marche parfaitement.
Quelqu'un s'y connait en TexturePaint ?
Je voudrais mettre cette image en fond d'écran, c'est une petite texture. TexturePaint sert bien à ca ?
Messages postés
333
Date d'inscription
dimanche 25 mai 2003
Statut
Membre
Dernière intervention
23 novembre 2009
1
tu écris

(affichage met bcp de tps normal ?)

et
img=(BufferedImage)ImageIO.read(new File("D:/fond.jpg"));
...
g2.drawImage(img,0,0,this);


charge ton image une fois pour toute dans le constructeur par exemple et non pas à chaque fois qut tu l'affiches
ca devrait déjà être bcp plus rapide ;-p

A+
Dobeliou