Probleme d'affichage d'une image sur une fram
titi42
-
titi42 -
titi42 -
Bonjour,
j'essaie d'afficher une fenêtre avec une image ce qui me pose problème c'est que mon fichier semble introuvable voila mon code!!!
Si quelqu'un pouvait m'aider MERCI j'en peu plus....
le message d'erreur sur eclipse:
java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999)
at java.awt.image.BufferedImage.<init>(BufferedImage.java:312)
at Fenetre.<init>(Fenetre.java:35)
at Fenetre.main(Fenetre.java:55)
import javax.swing.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.awt.*;
import java.io.*;
public class Fenetre extends JFrame{
public Fenetre(){
super();
final Image fond;
//JFrame fe = new JFrame();
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension tailleEcran = tk.getScreenSize();
int largeurEcran = tailleEcran.width;
int hauteurEcran = tailleEcran.height;
fond = tk.getImage("monIM.jpg");
this.setTitle("Petite fenetre");
this.setSize(largeurEcran/2, hauteurEcran/2);
this.setLocation(largeurEcran*2/8, hauteurEcran*2/8);
System.out.println(largeurEcran);
System.out.println(hauteurEcran);
try
{
Image icon = new ImageIcon(fond).getImage();
BufferedImage bimag = new BufferedImage(fond.getWidth(null), fond.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics g = bimag.createGraphics();
g.drawImage(icon,0,0,null);
this.paintComponents(g);
}
catch(Exception e){
e.printStackTrace();
}
//this.add(frameIma);
//this.setContentPane(frameIma);
//fe.getDefaultCloseOperation();
this.setVisible(true);
}
public static void main(String[] args) {
System.out.println("demarrage");
new Fenetre();
}
}
j'essaie d'afficher une fenêtre avec une image ce qui me pose problème c'est que mon fichier semble introuvable voila mon code!!!
Si quelqu'un pouvait m'aider MERCI j'en peu plus....
le message d'erreur sur eclipse:
java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999)
at java.awt.image.BufferedImage.<init>(BufferedImage.java:312)
at Fenetre.<init>(Fenetre.java:35)
at Fenetre.main(Fenetre.java:55)
import javax.swing.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.awt.*;
import java.io.*;
public class Fenetre extends JFrame{
public Fenetre(){
super();
final Image fond;
//JFrame fe = new JFrame();
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension tailleEcran = tk.getScreenSize();
int largeurEcran = tailleEcran.width;
int hauteurEcran = tailleEcran.height;
fond = tk.getImage("monIM.jpg");
this.setTitle("Petite fenetre");
this.setSize(largeurEcran/2, hauteurEcran/2);
this.setLocation(largeurEcran*2/8, hauteurEcran*2/8);
System.out.println(largeurEcran);
System.out.println(hauteurEcran);
try
{
Image icon = new ImageIcon(fond).getImage();
BufferedImage bimag = new BufferedImage(fond.getWidth(null), fond.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics g = bimag.createGraphics();
g.drawImage(icon,0,0,null);
this.paintComponents(g);
}
catch(Exception e){
e.printStackTrace();
}
//this.add(frameIma);
//this.setContentPane(frameIma);
//fe.getDefaultCloseOperation();
this.setVisible(true);
}
public static void main(String[] args) {
System.out.println("demarrage");
new Fenetre();
}
}
Configuration: Windows XP Firefox 3.0.10
5 réponses
-
new ImageIcon(fond).getImage();
pourquoi tu veux refaire un getImage, alors que tu l'as déjà fait avant ? -
tu as raison la ligne "Image icon = new ImageIcon(fond).getImage();" devrais être en commentaire ms l'erreur apparait quand même!!! Tu vois d'ou cela peut venir?
-
Heu si tu mets cette ligne en commentaire
ta ligne g.drawImage(icon,0,0,null); est fausse vu que icon n'existe pas -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
j'ai l'impression que ça vient du moment ou on récupère le fichier pour en faire une image!!!
fond = tk.getImage("monIM.jpg");
l'erreur vient peut être du monIM.jpg qui n'est pas trouvée pourtant elle est bien là!!!