Rechercher : dans
Par :

Image dans une JFrame en Java

Dernière réponse le 17 avr 2009 à 11:51:39 yotheyoung, le 30 aoû 2007 à 14:33:07 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 2.0.0.4

Meilleures réponses pour « image dans une JFrame en Java » dans :
Update Checker - Vos logiciels sont-ils à jour ? VoirVous avez du mal à tenir tous vos logiciels à jour ? En effet, sous Windows, quand on a plusieurs dizaines de logiciels installés sur le système, il est difficile de vérifier qu'ils sont tous bien à jour. Sommaire Update Checker, la...
Fichier ABM VoirFormat ABM Un fichier ABM (ABM signifie Album) est un ensemble de photos regroupées dans un seul fichier. Comment lire un fichier ABM ? Les logiciels suivants sont réputés capables de lire ce format de fichiers : PhotoAlbum, Ulead Image...

1

arth, le 30 aoû 2007 à 15:02:28

Zut j'ai la réponse pas loin et je la trouve pas ^^ Le loup, solitaire et mystérieux.

Configuration: Windows XP
Firefox 2.0.0.6

Répondre à arth

2

yotheyoung, le 30 aoû 2007 à 15:58:56
  • +1

Ok je te laisse la trouver ^^ merci

Configuration: Windows XP
Firefox 2.0.0.4

Répondre à yotheyoung

3

arth, le 30 aoû 2007 à 16:34:12
  • +1

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.
Le loup, solitaire et mystérieux.

Configuration: Windows XP
Firefox 2.0.0.6

Répondre à arth

4

yotheyoung, le 30 aoû 2007 à 17:04:21

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

Répondre à yotheyoung

5

kij_82, le 30 aoû 2007 à 17:11:05

La méthode paintComponent est appelée automatiquement en fait par la JVM. (il me semble)
~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~

Configuration: Windows XP
Firefox 2.0.0.6

Répondre à kij_82

6

arth, le 30 aoû 2007 à 17:17:59

Tout à fait, elle est appelée automatqieuement.

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

Loup. Le loup, solitaire et mystérieux.

Configuration: Windows XP
Firefox 2.0.0.6

Répondre à arth

7

yotheyoung, le 31 aoû 2007 à 09:45:53

Ok merci beaucoup!

yo

Configuration: Windows XP
Firefox 2.0.0.4

Répondre à yotheyoung

8

yotheyoung, le 31 aoû 2007 à 12:24:04

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?

merci

Configuration: Windows XP
Firefox 2.0.0.4

Répondre à yotheyoung

9

kij_82, le 31 aoû 2007 à 13:51:23

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 :) )
~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~

Configuration: Windows XP
Firefox 2.0.0.6

Répondre à kij_82

10

 asma40, le 17 avr 2009 à 11:51:39

Je veux un code source qui affiche deux images juxtaposées dans une une seul fenetre qui est la fenetre principale

Répondre à asma40
Collection CommentÇaMarche.net