A voir également:
- Afficher une image java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Image iso - Guide
- Comment agrandir une image - Guide
5 réponses
thedavix
Messages postés
466
Date d'inscription
mardi 21 mai 2002
Statut
Membre
Dernière intervention
31 août 2006
35
7 sept. 2004 à 09:44
7 sept. 2004 à 09:44
Salut,
écoute je sais que pour l'affichage des images en java c'est assez chiant..
la meilleures choses est de créer une class qui extends JPanel et de redefinir la méthode paint() dedans tu peux t'inspirer de ce code
ensuite tu n'as plus qu'à créer une instance de la classe et de l'inclure la ou tu veux que l'image soit affichée.
J'espère que ca t'aidera
David
" Many electrons died to bring you this data..."
écoute je sais que pour l'affichage des images en java c'est assez chiant..
la meilleures choses est de créer une class qui extends JPanel et de redefinir la méthode paint() dedans tu peux t'inspirer de ce code
private Image image = null; public void paint(Graphics g) { super.paintComponent(g); image = getToolkit().getImage("adresse de l'image"); if(image != null) // Si l'image existe, ... g.drawImage(image, 200, 20, this); // ... on la dessine }
ensuite tu n'as plus qu'à créer une instance de la classe et de l'inclure la ou tu veux que l'image soit affichée.
J'espère que ca t'aidera
David
" Many electrons died to bring you this data..."
j'ai trouvé mon erreur!!! je mettais photo.jpeg au lieu de photo.jpg !!!!!! quel con...
Maintenant tout marche.
Maintenant tout marche.
ok merci, j'ai essayé avec tes conseils, ca marche avec une image.gif mais toujours pas avec une photo.jpeg . Pourtant il detecte la photo(j'ai mis un print si image != null ). POURQUOI ca marche pas!!! sniffff... Voila le programme que j'ai essayé:
import javax.swing.* ;
import java.awt.* ;
class MaFenetre extends JFrame
{ MaFenetre ()
{ setTitle ("IMAGES") ;
setSize (800, 500) ;
pan = new Panneau() ;
getContentPane().add(pan) ;
}
private JPanel pan ;
}
class Panneau extends JPanel
{ public Panneau()
{ photo = getToolkit().getImage("photo.jpeg") ;
}
public void paintComponent(Graphics g)
{ super.paintComponent(g) ;
int x=10, y=10 ;
if(photo != null)
{g.drawImage (photo, x, y, this);System.out.println("photo");}
}
private Image photo = null;
}
public class TestMenu
{ public static void main (String args[])
{ MaFenetre fen = new MaFenetre() ;
fen.setVisible(true) ;
}
}
import javax.swing.* ;
import java.awt.* ;
class MaFenetre extends JFrame
{ MaFenetre ()
{ setTitle ("IMAGES") ;
setSize (800, 500) ;
pan = new Panneau() ;
getContentPane().add(pan) ;
}
private JPanel pan ;
}
class Panneau extends JPanel
{ public Panneau()
{ photo = getToolkit().getImage("photo.jpeg") ;
}
public void paintComponent(Graphics g)
{ super.paintComponent(g) ;
int x=10, y=10 ;
if(photo != null)
{g.drawImage (photo, x, y, this);System.out.println("photo");}
}
private Image photo = null;
}
public class TestMenu
{ public static void main (String args[])
{ MaFenetre fen = new MaFenetre() ;
fen.setVisible(true) ;
}
}
Tu n'appelles pas la méthode paintComponent. Si tu veux l'appeller alors qu'elle est dans la même classe, essaie la méthode: repaint();
g c'est le contexte graphique de la chose dans quoi tu es. Dans ce cas si, c'est JFrame. Donc quand tu fais repaint(), tu appelles la méthode paintComponent avec le g du JFrame.
Je ne sais pas si c'est pareil, mais tu peux essayé de faire
Graphics g=this.getGraphics();
paintComponent(g);
J'imagine que c'est la même chose mais ce serait idiot de faire ca alors que repaint(); suffi.
g c'est le contexte graphique de la chose dans quoi tu es. Dans ce cas si, c'est JFrame. Donc quand tu fais repaint(), tu appelles la méthode paintComponent avec le g du JFrame.
Je ne sais pas si c'est pareil, mais tu peux essayé de faire
Graphics g=this.getGraphics();
paintComponent(g);
J'imagine que c'est la même chose mais ce serait idiot de faire ca alors que repaint(); suffi.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'essai de faire la meme chose avec ce code, mais il manque l'appel a la méthode paintComponent(elle est seulement déclarée, mais on ne l'appel jamais).
j'essai de la faire en appelant la méthode, mais je ne sais pas quoi passer en paramètre, c'est un Graphics qu'il faut, mais lequel?
je n'ai pas de Graphics...
quelqu'un sait??
merci d'avance
j'essai de la faire en appelant la méthode, mais je ne sais pas quoi passer en paramètre, c'est un Graphics qu'il faut, mais lequel?
je n'ai pas de Graphics...
quelqu'un sait??
merci d'avance