Comment afficher une BufferedImage dans un JFrame?
-
06-07-2019 - |
Question
Je souhaite afficher des variations de la même image dans le même JFrame, par exemple, afficher une image dans JFrame, puis le remplacer par une échelle de gris de la même image.
La solution
Vous devrez repeindre le JFrame
chaque fois que vous actualiserez l'image.
Voici ce qu'un Google simple sur le sujet fait apparaître: (J'utilise ces tutoriels pour tout mon code Java)
Autres conseils
Pour construire sur la solution de camickr (pour les paresseux comme moi qui veulent un code rapide à copier / coller), voici une illustration du code:
JFrame frame = new JFrame();
frame.getContentPane().setLayout(new FlowLayout());
frame.getContentPane().add(new JLabel(new ImageIcon(img)));
frame.getContentPane().add(new JLabel(new ImageIcon(img2)));
frame.getContentPane().add(new JLabel(new ImageIcon(img3)));
frame.pack();
frame.setVisible(true);
//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // if you want the X button to close the app
Je ne suis pas vraiment sûr de votre question, mais si vous avez une BufferedImage, vous créez simplement un ImageIcon à l'aide de l'image, puis vous ajoutez l'icône à un JLabel et ajoutez l'étiquette à l'interface graphique comme tout autre composant.
Si votre question concerne la création d'une échelle de gris, je vous suggère de rechercher sur le Web en utilisant ces termes comme mots-clés de recherche, je suis sûr que vous en trouverez des exemples.