J'ai un JPanel à laquelle j'aimerais ajouter des images JPEG et PNG que je génère à la volée.
Tous les exemples que j'ai vus jusqu'à présent dans l'étude de la Tutoriels sur le Swing notamment dans les Exemples de balançoires utiliser ImageIcon
s.
Je génère ces images sous forme de tableaux d'octets, et elles sont généralement plus grandes que l'icône commune utilisée dans les exemples, à savoir 640x480.
- Y a-t-il un problème (de performance ou autre) à utiliser la classe ImageIcon pour afficher une image de cette taille dans un JPanel ?
- Quel est le habituel manière de le faire ?
- Comment ajouter une image à un JPanel sans utiliser la classe ImageIcon ?
Editar : Un examen plus attentif des tutoriels et de l'API montre que vous ne pouvez pas ajouter une ImageIcon directement à un JPanel. Au lieu de cela, ils obtiennent le même effet en définissant l'image comme une icône d'un JLabel. Cela ne semble pas correct...
1 votes
En fonction de la manière dont vous générez les tableaux d'octets, il peut être plus efficace d'utiliser un fichier de type
MemoryImageSource
que de les convertir au format JPEG ou PNG et de les lire ensuite avecImageIO
comme le suggèrent la plupart des réponses. Vous pourriez obtenir unImage
d'unMemoryImageSource
construit avec vos données d'image en utilisantcreateImage
et l'afficher comme suggéré dans l'une des réponses.0 votes
Vérifier ma réponse stackoverflow.com/questions/43861991/