¿Cómo puedo mostrar una imagen almacenada en un JFrame?
-
06-07-2019 - |
Pregunta
Quiero mostrar variaciones de la misma imagen en el mismo JFrame, por ejemplo, mostrar una imagen en JFrame, luego reemplazarla con la escala de grises de la misma imagen.
Solución
Deberá volver a pintar el JFrame
cada vez que actualice la imagen.
Esto es lo que muestra un simple google sobre el tema: (uso esos tutoriales para toda mi codificación Java)
Otros consejos
Para construir sobre la solución de camickr (para los perezosos como yo que quieren copiar / pegar código rápido) aquí hay una ilustración de código:
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
No estoy seguro de cuál es su pregunta, pero si tiene una BufferedImage simplemente crea un ImageIcon usando la imagen, luego agrega el icono a JLabel y agrega la etiqueta a la GUI como cualquier otro componente.
Si tu pregunta es sobre cómo crear una escala de grises, te sugiero que busques en la web usando esos términos como palabras clave de búsqueda, estoy seguro de que encontrarás ejemplos.