Image dans Swing [Résolu]

Signaler
Messages postés
9
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
3 février 2021
-
Messages postés
9
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
3 février 2021
-
J'aimerai bien afficher une image sur JFrame mais je ne sais pas pourquoi mon code ne fonctionne pas
La c est mon classe Dessin
package dessin;
import java.awt.*;
import javax.swing.*;
import java.lang.*;
import java.util.*;
import java.io.*;
import java.io.File;
import java.io.IOException;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.net.URL;

public class Dessin extends JPanel 
{
 BufferedImage image;

 public Dessin() 
 {
    super();
   }
 public void ImagePanel() throws Exception
 {
  image = ImageIO.read(new File("tourEiffel.jpg"));
  

 }
 public void paintComponent(Graphics g)
 {
  super.paintComponent(g);
  g.drawImage(image, 10, 20, null);
 }
 
}

La c est ma Fenetre
package fenetre;
import dessin.*;
import javax.swing.*;
import java.awt.*;

public class Fenetre extends JFrame
{

 Dessin pic= new Dessin();
 JPanel p= new JPanel();

 public Dessin getPic()
 {
  return pic;
 }

 public Fenetre()
 {
  setTitle("Jeux d'image");
  setSize(1000,500);
  getPic().setPreferredSize(new Dimension(1000,500));
  p.add(getPic());
  //p.setBounds(50,50,50,50);
  //add(p);
  setContentPane(p);
  setVisible(true);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  pack();
  
  
 }

}

Et la c est mon affichage
package aff;
import fenetre.Fenetre;
import javax.swing.*;  
import java.awt.*;
import java.util.*;
import java.io.IOException;
public class Affichage
{
 public static void main(String[] args)throws Exception
   {  
   Fenetre f=new Fenetre();
   } 

}

Merci d'avance....et j ai vraiment besoin de votre aide.

1 réponse

Messages postés
5360
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
25 janvier 2021
107
Salut,

Tu veux une image en fond de ta fenêtre?
public class JBackgroundPanel extends JPanel {

  private Image m_imgBackground;

  public JBackgroundPanel (String fileName) throws IOException {
    m_imgBackground= ImageIO.read(new File(fileName));
  }

  public void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.drawImage(m_imgBackground, 0, 0, this);
  }
}
...
JFrame f = new JFrame();
JBackgroundPanel jbp = new JBackgroundPanel ("tourEiffel.jpg");
jbp.setLayout(new BorderLayout()); /* en option par default ContentPane est en borderlayout et JPanel en FlowLayout */
f.setContentPane(jbp);
/* tu peux ajouter des composants dedans */
// f.getContentPane().add(...);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(1000,500);
f.setLocationRelativeTo(null);

f.setVisible(true);



Tu veux une image dans un simple composant ?
JLabel image = new JLabel(new ImageIcon("tourEiffel.jpg"));
// apres tu ajoutes simplement le composant

Messages postés
9
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
3 février 2021

Merci bien de votre reponse....Et oui je veux une image juste dans un simple coposant