Bonjour à tous,
je voudrais créer une fenêtre JFrame avec en fond une image que j'ai sur mon disque dur. Mon probleme c'est que ma frame reste grise et je vois pas pourquoi si quelqu'un pouvait regarder mon code et me dire ce qui ne fonctionne pas ce serait sympa merci...
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.awt.*;
import java.io.*;
public class Fenetre extends JFrame{
public static void main(String[] args) throws IOException {
System.out.println("demarrage");
new Fenetre();
System.out.println("FIN");
}
public Fenetre() throws IOException{
super();
Image fond;
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension tailleEcran = tk.getScreenSize();
int largeurEcran = tailleEcran.width;
int hauteurEcran = tailleEcran.height;
fond = tk.getImage("src/Collines.jpg");
this.setIconImage(fond);
this.setTitle("Petite fenetre");
this.setSize(900, 700);
this.setLocation(largeurEcran*2/8, hauteurEcran*2/8);
FenetreFond fenFond = new FenetreFond("src/Collines.jpg");
try
{
//Image im = new ImageIcon("src/Collines.jpg").getImage();
//BufferedImage bimag = new BufferedImage(im.getWidth(null), im.getHeight(null), BufferedImage.TYPE_4BYTE_ABGR);
//Image image = ImageIO.read(new File("src/Collines.jpg"));
Graphics g = fenFond.imag.getGraphics();
//g.drawImage(im,0,0,null);
fenFond.paintComponents(g);
//this.add(fenFond);
this.setContentPane(fenFond);
//this.getContentPane().setLayout(new BorderLayout());
this.pack();
this.setBounds(100,80,900,700);
this.setVisible(true);
System.out.println("on é la");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
catch(Exception e)
{
System.out.println("ERREUR");
e.printStackTrace();
}
System.out.println("on é sortie");
}
class FenetreFond extends JPanel
{
Image imag;
public FenetreFond(String s) throws IOException{
imag = ImageIO.read(new File(s));
//imag = new ImageIcon(s).getImage();
//imag = getToolkit().getImage(s);
}
public void paintComponents(Graphics g)
{
System.out.println("passons par la");
//Image imag = new ImageIcon("src/Collines.jpg").getImage();
g.drawImage(imag,0,0,getWidth(), getHeight(),this);
}
}
}
Afficher la suite