How to display an image in a Java application

java display image in jframe
how to insert image in java eclipse
how to read and display an image file in java
how to add image in java jframe
how to insert image in java netbeans
java load and show image
java display image in jpanel
how to draw image on canvas in java

I want to display an image in my Java application. I found a code to download the image from the webserver and show it in the jframe.

I want to use a label to show the image or something else. It shouldn't be JFrame.

Here is my code:

Image image = null;
try {
    URL url = new URL(
    image =;
} catch (IOException e) {

// Use a label to display the image
JFrame frame = new JFrame();

JLabel lblimage = new JLabel(new ImageIcon(image));
frame.getContentPane().add(lblimage, BorderLayout.CENTER);
frame.setSize(300, 400);

Can someone help me?

Using the code you provided, you already have the image in a JLabel called lblimage. You can now add that to a panel or any other container object, like so:

JPanel mainPanel = new JPanel(new BorderLayout());
// add more components here

You can treat that label (lblimage) just like you would any normal component.

Displaying image in Java, Displaying image in Java tutorial shows how to display an image in Java. The example creates a Java Swing application and uses an  The example creates a Java Swing application and uses an ImageIconcomponent to display the image. private ImageIcon loadImage() { ImageIcon ii = new ImageIcon("src/images/snake.jpg"); return ii;} The important part is here. The ImageIcontakes the file path to the image.

You could try doing this instead:

import javax.swing.ImageIcon;
JLabel image = new JLabel(new ImageIcon("imageName.png"));

I find it to be much easier to do :D

EDIT: Upon reading the question for the 4th time, I realized that this is exactly what you did in the question. Now, I'm having trouble figuring out what exactly you're asking for.

How to display an image in a Java application, Image image = null; try { URL url = new URL( ""); image = ImageIO. read(url); } catch (IOException e) { } // Use a label to display the image JFrame frame = new JFrame(); JLabel lblimage = new JLabel(new ImageIcon(image)); frame. To add the image to the label: In the icon property dialog box, click Import to Project. In the file chooser navigate to any image that is on your system that you want to use. Then click Next. In the Select target folder page of the wizard, select the newpackage folder and click Finish.

I would add two notes to the other useful answers:

1) Don't swallow exceptions; write to a log or at least print a stack trace.

catch (IOException e) { e.printStackTrace(); }

2) Instead of writing frame.setSize(300, 400), use pack(), which "Causes this Window to be sized to fit the preferred size and layouts of its subcomponents." In this way, the picture's original dimensions will be used. This is also the foundation of @camickr's suggestion to read about Layout Managers.

A Java program to open, read, and display an image file , When I just looked back at that post I thought it would be cool if I showed a complete Java program that could read an image from the local  Display Image in Java 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 (File file) method.

Your code already does what you need ( to display it in other than a JFrame - that's a JLabel - )

For what you say in your comments, to try to drag and drop and add more components I think what you need is to use a GUI BUilder to achieve what you want ( which is not only show the image but add other components )

I would recommend you yo use IntelliJ IDEA's GUI Builder

In order to have a complete overview on how Swing works and what can you with it, you can also take a look at: The swing tutorial

Handling Images in a Java GUI Application, This 2d Java tutorial describes 2d graphics, geometry, text APIs, images, This lesson teaches you the basics of loading, displaying, and saving images. BufferedImage class, which extends the Image class to allow the application to  The javafx.scene.image.Image class is used to load an image into a JavaFX application. This supports BMP, GIF, JPEG, and, PNG formats. JavaFX provides a class named javafx.scene.image.ImageView is a node that is used to display, the loaded image. To display an image in JavaFX − Create a FileInputStream representing the image you want to load.

and i want to add more and more items (buttons and labels ) to my GUI. can you please help me

Your question has nothing to do with labels and images. You need to understand how to use Layout Managers to organize the components you add to a frame.

So start by reading the Swing tutorial on Layout Managers. There are plenty of examples you can download and play with. Also you can nest different layout managers on different panels.

Lesson: Working with Images (The Java™ Tutorials > 2D Graphics), In this Java programming exercise I`m trying to load and display an image inside JFrame using Duration: 3:10 Posted: 19 Sep 2015 You will probably find times when programming with Java that you need to display a window on your computer screen. This code has very little logic of its own. Instead, this code pulls together a bunch of classes from the Java API.

JAVA How to display an image, How to display an image using Java GUI. Code can be found here: https://​ Duration: 3:36 Posted: 23 Oct 2016 Questions: I want to display Image in my Android application in specific size. How can I do it? Please guide me? And one more thing I want that image from SD card. So please Help me. Thanks in advance. How to&Answers: First you need to create an imageview. ImageView imageView = new ImageView(getApplicationContext()); Create layout

Java: Display an Image, import java.awt.*;; import javax.swing.JFrame;; public class MyCanvas extends Canvas{; public void paint(Graphics g) {; Toolkit t=Toolkit.getDefaultToolkit  The java.awt.image.BufferedImage class, which extends the Image class to allow the application to operate directly with image data (for example, retrieving or setting up the pixel color). Applications can directly construct instances of this class.

Displaying image in swing, an example that display image in Java application. Display Image in Java. This example takes an image from the system and displays it on a frame using ImageIO  To get the current display mode, simply call the getDisplayMode method on your graphics device. To obtain a list of all possible display modes, call the getDisplayModes method. Both getDisplayMode and getDisplayModes can be called at any time, regardless of whether or not you are in full-screen exclusive mode.

  • Does your code work or not? Did you try it out? If it doesn't work, then what's wrong - do you get an error message, or does it not look like you expect? The more details you provide, the better people can help you.
  • The code does exactly what you describe. The image is shown in the label lblimage. You can put the label in a JPane and it will work. What do you think is not working?
  • no its working fine. but it shows in frame. but i want this image to show in a label or something. so i can adjust the size and all. i want to put this image in a specific area of my application. please help me
  • The label is the only thing in the frame, so it takes up the whole frame. Once you add more stuff to your GUI it will look fine.
  • i tried adding more and more labels. im just dragging dropping them. but only the image is displaying.. others are not showing
  • i tried dragging dropping a panel and making this code adjust to that. but not working. and i want to add more and more items (buttons and labels ) to my GUI. can you please help me
  • whats my problem is this. i have already added a image in to my label. but its not displaying. the label is from drag and drop. so i want when my application runs the label should display the image. and the other thing is it should not take the whole GUI. using jframe what it do is it takes the whole frame so i cant even add any other buttons or labels
  • What do you mean that it should not take the whole GUI? And by drag and drop, do you mean you're using another program to make the GUI? If the image isn't showing up, what you'll probably have to do is put the JLabel containing the image into a JPanel and then tell the JPanel to execute updateUI(); (I think. I'm still not sure what your problem is.)
  • i have more buttons and labels. all of them are not created by the code. i have drag and drop them in to the form.
  • That's what's confusing; what program are you using to drag and drop them into the form? And what do you mean by form? Are you building a program to drag and drop components?