 <p>I don't know a very short way, but I would use something like this (as qick hack to get an impression):</p> <pre><code> try { // this is a new frame, where the picture should be shown final JFrame showPictureFrame = new JFrame("Title"); // we will put the picture into this label JLabel pictureLabel = new JLabel(); /* The following will read the image */ // you should get your picture-path in another way. e.g. with a JFileChooser String path = "C:\\Users\\Public\\Pictures\\Sample Pictures\\Koala.jpg"; URL url = new File(path).toURI().toURL(); BufferedImage img = ImageIO.read(url); /* until here */ // add the image as ImageIcon to the label pictureLabel.setIcon(new ImageIcon(img)); // add the label to the frame showPictureFrame.add(pictureLabel); // pack everything (does many stuff. e.g. resizes the frame to fit the image) showPictureFrame.pack(); //this is how you should open a new Frame or Dialog, but only using showPictureFrame.setVisible(true); would also work. java.awt.EventQueue.invokeLater(new Runnable() { public void run() { showPictureFrame.setVisible(true); } }); } catch (IOException ex) { System.err.println("Some IOException accured (did you set the right path?): "); System.err.println(ex.getMessage()); } </code></pre>