import java.awt.*;
import javax.swing.*;
import javax.imageio.ImageIO;
import java.io.*;

/** A component that displays a flower. */
public class FlowerImage extends JPanel {

  /** Program that displays a flower in a window. */
  public static void main(String[] args) throws IOException {
    JFrame frame = new JFrame("Flower");
    frame.setSize(500, 500);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JPanel flower = new FlowerImage();
    flower.setBackground(Color.white);

    frame.add(flower);
    frame.setVisible(true);
  }

  /** Image of the flower. */
  private final Image flowerImage;

  public FlowerImage() throws IOException {
    this.flowerImage =
        ImageIO.read(FlowerImage.class.getResource("/flower.png"));
  }

  @Override
  public void paintComponent(Graphics g) {
    super.paintComponent(g);  // paint background

    // Draw the image to fill up the whole available space.
    g.drawImage(flowerImage, 0, 0, getWidth(), getHeight(),
        0, 0, flowerImage.getWidth(null), flowerImage.getHeight(null), null);
  }

}