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
Rejoignez-nous