Java afficher une image

Fermé
electroking Messages postés 234 Date d'inscription dimanche 14 septembre 2014 Statut Membre Dernière intervention 22 juin 2021 - 4 déc. 2017 à 16:38
ohanfou Messages postés 3 Date d'inscription vendredi 8 décembre 2017 Statut Membre Dernière intervention 28 décembre 2017 - 9 déc. 2017 à 18:14
Bonjour,

Je sais que mon problème est simple mais même après avoir tenté de nombreux algorithmes différent je n'arrive toujours pas à résoudre mon problème :

Je travaille dans une JFrame avec un JPanel en GridBagLayout et je veux ajouter une image dedans.

Je fais un :

monPanel.add(new MonImage("monImage.png"), gbc);


Où :
- gbc est ma contrainte GridBag
- monImage.png est dans mes ressources (dossier courant)
- monImage() est ma classe qui hérite d'un jpanel (ou un jlabel ou ce que vous voulez)

Je veux que ma classe monImage, en lui donnant simplement le nom de l'image, la charge depuis les ressources et lui définisse une taille (par exemple 360*240) via un jpanel ou un autre composant.

Bien entendu je veux que mon image soit affiché dans ma jframe à la fin, car mes ~10 premères tentatives se sont soldé soit par un élément vide, soit par un carré gris dans ma jframe.

Merci d'avance pour vos réponses

2 réponses

tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 120
7 déc. 2017 à 00:54
Bonjour,

Si vous voulez faire cela selon les règles de l'art, je pense qu'il faut récupérer l'objet Graphics et dessiner l'image.

https://docs.oracle.com/javase/7/docs/api/javax/swing/JFrame.html#getGraphics()

https://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html

Si vous voulez juste ajouter une image rapidement juste pour affichage, vous pouvez utiliser un JLabel, il peut prendre une icone (qui peut être grande) comme paramètre de constrcuteur :

https://docs.oracle.com/javase/7/docs/api/javax/swing/JLabel.html#JLabel(javax.swing.Icon)
0
electroking Messages postés 234 Date d'inscription dimanche 14 septembre 2014 Statut Membre Dernière intervention 22 juin 2021 6
9 déc. 2017 à 15:26
Merci pour ta réponse je regarde ça le plus vite possible
0