How to display image in Swing?

In this section you will learn example that will teach you How to display image in Swing?

How to display image in Swing?

In this section you will learn example that will teach you How to display image in Swing?

Display Image in Java

How to display image in Swing Application?

Swing is used to create GUI application in Java. This API comes with various components to create highly interactive desktop application in Java. Swing is used by developer to create desktop based applications for enterprise.

If you have any requirement to display the image in your swing application then you can learn to display image in swing application here. In this example user enters the name of the image to be displayed and then the program display that image in the application.

We have provided you full source code of the example code and you will be able to run it easily.

This example takes an image from the system and displays it on a frame using ImageIO class. User enters the name of the image using the command prompt and then the program displays the same image on the frame. The image is read from the system by using ImageIO.read(File file) method. 

The methods used in this example are:.


drawImage(Image img,int x,int y,ImageObserver observer): This method is used to draw an image. The image is drawn at the top-left corner at (x, y)  coordinates in this graphics context's coordinate space

setSize(int height , int width): Use this method to set the size of the frame.

setVisible(boolean b): Pass the boolean value as true to display the image or Vice-Versa. Here we are passing the boolean value as true to display the image on the frame.

getContentPane(): This method gets the content pane in which our GUI component will be added. 

Code deacription:

In this example first we imports the required packages. Then create a class named ShowImage that extends the Panel class. Now declare a variable of BufferedImage class. Constructor ShowImage() recieves the name of the image passed at the command prompt in the BufferedReader object and reads the image from the system. Use paint() method to draw the image. Create a frame and an object of ShowImage in the main method. Add this object into content pane, set the size of the frame and define the visibility mode as true to display the image on the frame.

Here is the code of the program :

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
public class ShowImage extends Panel {
  BufferedImage  image;
  public ShowImage() {
  try {
  System.out.println("Enter image name\n");
  BufferedReader bf=new BufferedReader(new 
InputStreamReader
(System.in));
 String imageName=bf.readLine();
  File input = new File(imageName);
  image = ImageIO.read(input);
  catch (IOException ie) {
  System.out.println("Error:"+ie.getMessage());
  }
  }

  public void paint(Graphics g) {
  g.drawImageimage, 00null);
  }

  static public void main(String args[]) throws
Exception {
  JFrame frame = new JFrame("Display image");
  Panel panel = new ShowImage();
  frame.getContentPane().add(panel);
  frame.setSize(500500);
  frame.setVisible(true);
  }
}

 Input on dos Prompts :

C:\image>javac ShowImage.java
C:\image>java ShowImage
Enter image name
rajeshxml2.gif

Input image:rajeshxml2.gif

Output of The Example:

Download this example.