Affichage d'image dans une interface Java

Résolu
achora2006
Messages postés
26
Date d'inscription
samedi 20 juin 2009
Statut
Membre
Dernière intervention
26 juillet 2009
- 20 juin 2009 à 15:05
bassempfe
Messages postés
21
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
10 août 2010
- 10 août 2010 à 09:29
salut tout le monde

si quelqu'un peut m'aider s'il vous plait

je veux savoir comment je peux afficher une image dans une interface java via NetBeans à partir d' une base de donnée mysql

le chemin de l'image est enregistré dans ma base sous un champs de type varchar

merci d'avance

11 réponses

uhrand
Messages postés
491
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
9
21 juin 2009 à 20:14
La méthode "getScaledInstance" est peu performante. C'est mieux de faire quelque chose comme ceci:

BufferedImage imgScaled = new BufferedImage((int) w, (int) h, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = (Graphics2D) imgScaled.getGraphics();
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.drawImage(sourceImage, 0, 0, (int) w, (int) h, null);
g.dispose();
3
uhrand
Messages postés
491
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
9
21 juin 2009 à 15:27
Tu fais une requète sql pour avoir le chemin, puis tu crée un JLabel avec une ImageIcon(chemin) que tu ajoute à l'interface.
0
achora2006
Messages postés
26
Date d'inscription
samedi 20 juin 2009
Statut
Membre
Dernière intervention
26 juillet 2009

21 juin 2009 à 16:06
Bonjour
Merci Uhrand
j'ai essayé d'afficher mon image dans un Jlabel avec une ImageIcon et ça a bien marché pour les images de la meme taille que mon JLable mais quand l'image est grande elle ne s'affiche pas complètement
est ce qu'il ya une solution qui me permet de redimentionner mon image selon la taille de ma JLabel?
j'ai essayé aussi d'afficher l'image dans un JPanel mais j'ai pas réussi.
Merci
0
achora2006
Messages postés
26
Date d'inscription
samedi 20 juin 2009
Statut
Membre
Dernière intervention
26 juillet 2009

21 juin 2009 à 16:23
à enfin j'ai résolu le problème j'ai trouver la solution avec la methode image.getScaledInstance(100, 100, 100);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
achora2006
Messages postés
26
Date d'inscription
samedi 20 juin 2009
Statut
Membre
Dernière intervention
26 juillet 2009

21 juin 2009 à 23:01
Merci beaucoup  ça marche très bien 
0
rooney1001
Messages postés
35
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
20 août 2009

18 juil. 2009 à 14:52
bonjours pouvez vous m'expliquez comments vous avez fait car j'ai exactement le meme probléme que vous et je suis debutant en java et netbeans
et si vous pouvez m'envoyer un exemple du code ça sera super !!!
merci d'avance
0
achora2006
Messages postés
26
Date d'inscription
samedi 20 juin 2009
Statut
Membre
Dernière intervention
26 juillet 2009

23 juil. 2009 à 02:36
voici cette fonction peut vs aider

public void afficherphoto(File f){
try {
image = ImageIO.read(f);
} catch (IOException ex) {
// Logger.getLogger(Consult.class.getName()).log(Level.SEVERE, null, ex);
}

BufferedImage imgScaled = new BufferedImage((int) 120, (int) 120, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = (Graphics2D) imgScaled.getGraphics();
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.drawImage(image, 0, 0, (int) 120, (int) 120, null);
g.dispose();

img = new ImageIcon(imgScaled);
System.out.println( img.getIconHeight());
System.out.println( img.getIconWidth());
labelphoto.setIcon(img);
//labelphoto est un Jlabel
}
bn chance
0
rooney1001
Messages postés
35
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
20 août 2009

23 juil. 2009 à 12:41
merci bien
0
bassempfe
Messages postés
21
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
10 août 2010

9 août 2010 à 14:38
BONJOUR,
pourriez-vous me proposer une idée pour mon problème:
ma requête sql rend plusieurs chemins(des url) d'images.
je veux afficher ces images une par une dans le même JLabel avec un bouton suivant.
J'arrive pas à instantier l'objet à chaque itération

Merci pour vos propositions
0
uhrand
Messages postés
491
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
9
10 août 2010 à 07:24
Bonjour bassempfe,
veux-tu nous montrer ton code s.t.p.?
0
bassempfe
Messages postés
21
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
10 août 2010

10 août 2010 à 09:29
Bonjour bassempfe,
veux-tu nous montrer ton code s.t.p.?


Bonjour,
j'explique mon problème d'avantages:
j'ai une requête sql qui rend pluieurs résultats, ces derniers sont des url (de type varchar) d'images.
Je veux afficher ces images une par une dans le même endroit et le passage se fait par un bouton "Image Suivante".
Voici une partie de mon code:
//le parcours de résultat

while (rs.next())//parcours du resultat
{
JLabel labelimg = new JLabel( new ImageIcon(rs.getString(1)));
p8.add(labelimg);
}


Pourriez vous me proposer une voie et/ou un code pour l'action du bouton "Image suivante"?

J'espère que mon problème est clair maintenant.

Merci d'avance.
0