[JAVA] Insérer une image de fond [Résolu/Fermé]

Signaler
Messages postés
375
Date d'inscription
lundi 16 mai 2005
Statut
Membre
Dernière intervention
23 octobre 2007
-
 hind -
Bonjour,
comment afficher une image de fond (image au format gif existant sur mon disque dur) dans un JPanel ou une JFrame ?

Merci de votre aide

6 réponses

Messages postés
623
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
11 novembre 2012
968
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;

/*
 * Created on Jul 19, 2005
 *
 */

/**
 * @author Fery.P
 *
 */
public class ImageFond extends JFrame {
	private Container c;
	private JPanel imagePanel;
	private String filePath;

	public ImageFond(String filePath) {
		super("Image de fond");
		this.filePath = filePath;
		initialize();
	}

	private void initialize() {
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		c = getContentPane();
		imagePanel = new JPanel() {
			public void paint(Graphics g) {
				try {
					BufferedImage image = ImageIO.read(new File(filePath));
					g.drawImage(image, 0, 0, null);
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		};
		imagePanel.setPreferredSize(new Dimension(640, 480));
		c.add(imagePanel);
	}

	public static void main(String[] args) {
		String imagePath = "C:/bellucci.jpg";
		ImageFond fond = new ImageFond(imagePath);
		fond.pack();
		fond.setVisible(true);
	}
}


Le mieux étant de créer une classe séparée qui étend JPanel et qui reprend le code du JPanel de la classe ci-dessus.

;-)
HackTrack
41
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60769 internautes nous ont dit merci ce mois-ci

Messages postés
375
Date d'inscription
lundi 16 mai 2005
Statut
Membre
Dernière intervention
23 octobre 2007
51
merci, ca fonctionne.

Mais comment faire pour supprimer cette image par la suite ?

merci
J'ai essayé le code indiqué plus haut il marche très bien mais il fait tout ramer. Y aurait il une solution ou un moyen moins gourmand?
Messages postés
623
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
11 novembre 2012
968
Normalement, tu auras d'autre graphiques dessinés par dessus ton image dans le JPanel , si j'ai bien compris. Donc, à chaque fois que la méthode paint() du JPanel sera appeleée pour redessinner le contenu du JPanel, tu pourrais tester si il faut ou non dessinner l'image de fond.

Pourquoi ne pas créer un attribut boolean dans la classe qui signale si l'image de fond doit être dessinée ou pas?
Messages postés
12
Date d'inscription
vendredi 10 décembre 2010
Statut
Membre
Dernière intervention
14 janvier 2011
2
bonjour .
je vais faire un jeu;je doit inserer ++ images.et lorsque je clique avec ma souris je enleve cette images.comment je doit faire
Je suis novice dans le Java,

Le code marche à la perfection sauf que je n'arrive pas à l'incorporer dans mon propres code, j'ai 2 fichiers Menu et MenuFenetre, et bien sur quand j'ajoute ce code il me fait un deuxième main.

Comment l'incorporer dans mon main?

Cordialement
Messages postés
4
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
7 avril 2008
3
salut je viens de voir ta réponse et j'ai le même problème
si t'es arrivé à le résoudre s'il te plait tu peut me dire comment tu la fait, c'est trés urgent!
merci
>
Messages postés
4
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
7 avril 2008

svp comment jepeux inserer une image dans un programme Java merci :)
bonjour je voudrais inserer une image dans une autre
exemple:je voudrais fair une blaague a une copine et dire que j ai rencontrer madone pouvez vous l aider svp si vous ne savez pas ce n est pas grave
gros bisou et a tres vite
Plus de trois ans après ça fait toujours rire !!! xD