Question

I want to display variations of the same image in the same JFrame, for example display an image in JFrame, then replace it with gray scale of the same image.

Was it helpful?

Solution

You will have to repaint the JFrame whenever you update the image.

Here is what a simple google on the topic brings up: (I use those tutorials for all my Java coding)

Java Tutorial: Drawing an Image

OTHER TIPS

To build on camickr's solution (for the lazy like me who want quick code to copy/paste) here's a code illustration:

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

I'm not really sure what you question is but if you have a BufferedImage then you simply create an ImageIcon using the image, then you add the icon to a JLabel and add the label to the GUI like any other component.

If you question is about how to create a gray scale, the I suggest you search the web using those terms as the search keywords, I'm sure you will find examples out there.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top