Rechercher : dans
Par :

[JAVA] Insérer une image de fond

Dernière réponse le 7 avr 2008 à 13:00:46 jebok, le 19 jui 2005 à 12:11:39 
 Signaler ce message aux modérateurs

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

Configuration: sdk 1.4.2

Meilleures réponses pour « [JAVA] Insérer une image de fond » dans :
[Outlook Express] Créer papier à lettre / Insérer image de fond VoirLe papier à lettre est une fonctionnalité de Outlook Express permettant d'égayer les courriers électroniques envoyés en insérant des illustrations (images, texte, etc.) en image de fond. Créer son papier à lettre sous Outlook Express Dans la fenêtre...
Insérer une image de fond sous la grille Excel VoirVous souhaitez insérer un logo sous JPEG ou autre, sous votre grille Excel : FORMAT / FEUILLE / ARRIERE PLAN s'ouvre un panneau vous présentant vos images pour sélection.... choisissez, validez. Pour le supprimer : même procédure FORMAT /...
[Word] Image de fond VoirIl est possible sous Microsoft Word d'afficher une image en arrière-plan dans un document en cliquant sur le menu Format, puis sur Arrière-Plan et enfin sur Motifs et textures. Dans l'onglet Image, cliquer sur le bouton "Sélectionner une image"....
LaTeX - Insertion d'images VoirStyle LaTeX permet d'insérer des images de différents formats. Le plus simple est d'insérer des fichiers de type eps (Encapsuled Postscript) : Il suffit d'insérer dans le préambule la ligne suivante : \usepackage{graphicx} Puis d'insérer...
Les arrière-plans VoirInsérer une image en fond Il est possible de définir une image d'arrière-plan pour la page web grâce aux attributs de la balise  : Attribut Effet Visuel BACKGROUND="image" Affiche l'image en arrière...

1

HackTrack, le 19 jui 2005 à 12:57:48
  • +6

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

Répondre à HackTrack

2

jebok, le 19 jui 2005 à 15:00:33

Merci, ca fonctionne.

Mais comment faire pour supprimer cette image par la suite ?

merci

Répondre à jebok

3

HackTrack, le 20 jui 2005 à 09:20:02

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?

Répondre à HackTrack

4

VaneSsa, le 31 mar 2007 à 20:54:28

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

Répondre à VaneSsa

6

zz10, le 19 fév 2008 à 21:27:59

No comment

Répondre à zz10

5

Bankette, le 9 mai 2007 à 11:49:10

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?

Répondre à Bankette

7

Homy, le 6 mar 2008 à 19:09:53

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

Répondre à Homy

8

 siwar_, le 7 avr 2008 à 13:00:46

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

Répondre à siwar_
Collection CommentÇaMarche.net