Posez votre question Signaler

Image dans une JFrame en Java [Résolu]

yotheyoung 13Messages postés 27 juillet 2007Date d'inscription - Dernière réponse le 28 déc. 2011 à 22:05
Bonjour,
je cherche à afficher une image dans une JFrame en java.
J'utilise Eclipse et Visual Editor.
Voici mon code:
Public class fenetre_image extends JFrame{
private JPanel jContentPane=null;
private JPanel pan;
public fenetre_image(){
super();
this.setContentPane(getJContentPane());
pan = new Panneau();
getContentPane().add(pan);
}
}
public class Panneau extends JPanel{
private Image im = null;
public Panneau(){
im=getToolkit().getImage("mon_image.gif");
}
public void paintComponent(Graphics g){
super.paintComponent(g);
int x=10,y=10;
if (im!=null){
g.drawImage(im,x,y,this);
}
}
}
ma méthode main:
public static void main(){
fenetre_image fi=new fenetre_image();
fi.setVisible(true);
}
la JFrame s'affiche mais le contenu n'affiche pas l'image.
Je suppose que c'est parce que je n'appelle jamais la méthode paintComonent, mais je ne sais pas ou l'apeller et avec quelle parametre de tpe Graphics.
Quelqu'un pourrait m'aider?????
merci d'avance
Lire la suite 

Image dans une JFrame en Java »

14 réponses
Réponse
+10
moins plus
Tiens j'ai bricolé un vieux code :) :

import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JFrame;
import javax.swing.JPanel;

class GlobalConsoleFrame extends JFrame
{
GlobalConsoleFrame()
{
setSize(1280, 1024);
setTitle("Test");
setContentPane(new AfficheImage("C:\\impress2.gif"));
getContentPane().setLayout(new BorderLayout());
this.setVisible(true);
}
}

class AfficheImage extends JPanel
{
Image eau;

AfficheImage(String s)
{
eau = getToolkit().getImage(s);
}

public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(eau, 0, 0, getWidth(), getHeight(), this);
}
}

public class affichage
{
public static void main(String[] args)
{
GlobalConsoleFrame test = new GlobalConsoleFrame();
}
}

Voilà j'espère que ca pourra t'aider, ce code est testé et fonctionne.

Loup.
tedi19- 3 mai 2011 à 13:16
Merci ça marche du tonnerre
Jamesst20 - 9 déc. 2011 à 02:10
Enfin quelque chose d'intelligent qui fonctionne ! Merci beaucoup
sosroot - 28 déc. 2011 à 22:05
merci pour l'aide.
Ajouter un commentaire
Réponse
+1
moins plus
Zut j'ai la réponse pas loin et je la trouve pas ^^
Ajouter un commentaire
Réponse
+1
moins plus
ok merci beaucoup!

yoConfiguration: Windows XP Firefox 2.0.0.4
Ajouter un commentaire
Réponse
+1
moins plus
je veux un code source qui affiche deux images juxtaposées dans une une seul fenetre qui est la fenetre principale
Ajouter un commentaire
Réponse
+0
moins plus
ok je te laisse la trouver ^^ merciConfiguration: Windows XP Firefox 2.0.0.4
Ajouter un commentaire
Réponse
+0
moins plus
merci oui ça marche tres bien , merci beaucoup!!!


pour savoir, quand est appelée la méthode paintComponent????

car en déroulant le programme, la derniere méthode qui semble être appelée est AfficheImage?non?Configuration: Windows XP Firefox 2.0.0.4
Ajouter un commentaire
Réponse
+0
moins plus
La méthode paintComponent est appelée automatiquement en fait par la JVM. (il me semble)
Ajouter un commentaire
Réponse
+0
moins plus
Tout à fait, elle est appelée automatqieuement.

Mais comme nous devons la modifier, nous devons la réécrire :):

Loup.
Ajouter un commentaire
Réponse
+0
moins plus
j'ai un autre petit soucis,

j'arrive la premiere fois a afficher l'image, puis je la modifie(je la laiss au meme endroit avec le meme nom), mais quand je rappelle
new GlobalConsoleFrame(); l'image ne change pas, alors qu'elle devrait..

si je l'ouvre dans le repertoire ou elle se trouve, elle a bien changé, mais pas dans mon appli. pourquoi?

merciConfiguration: Windows XP Firefox 2.0.0.4
Ajouter un commentaire
Réponse
+0
moins plus
Il faut qu'apres avoir modifier ton image, tu force un rappel à de la méthode qui redessine l'image (je ne sais plus de nom de la méthode par contre, faut que tu cherche :) )
Ajouter un commentaire
Réponse
+0
moins plus
bonjour,
est ce que vous pouvez m'aider à me faire avec netbeans?
Ajouter un commentaire
Ce document intitulé « image dans une JFrame en Java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?