Hey, I am trying to make a program that has pictures on the GUI, but am having trouble making the picture show up.

Here is the code:

import  java.awt.*;
import  java.awt.event.*;
import  javax.swing.*;


/**
   Quick example showing images (specifically ImageIcons) on
   JButtons and JLabels

   @author Sharon Tuttle
   @version 11-04-08
*/

public class ImageIconEx1
{
    /**
       creates an ImageIconEx1Frame
       @param args not used here
    */

    public static void main(String args[])
    {
        EventQueue.invokeLater(
           new Runnable()
           {
                public void run()
                {
                    ImageIconEx1Frame mainFrame = new ImageIconEx1Frame();
                    mainFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
                    mainFrame.setVisible(true);
                }
           });
    }
}
/**
   A frame with a panel containing buttons and labels featuring
   image icons
*/

class ImageIconEx1Frame extends JFrame
{
    /**
       constructs an ImageIconEx1Frame instance
    */

    public ImageIconEx1Frame()
    {
        this.setTitle("ImageIcons on JButtons and JLabels");
        this.setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

        // add ImageIconEx1 panel to frame

        ImageIconEx1Panel panel = new ImageIconEx1Panel();
        this.add(panel);
    }

    // data fields

    private final static int DEFAULT_WIDTH = 500;
    private final static int DEFAULT_HEIGHT = 400;
}

/**
   A panel containing buttons and labels featuring
   image icons
*/

class ImageIconEx1Panel extends JPanel
{
    /**
       constructs a ImageIconEx1 panel instance
    */

    public ImageIconEx1Panel()
    {
        ImageIcon myImageIcon = new ImageIcon("C:'\'Users'\'Kimberlie'\'Desktop'\'BlackJackGui'\'train.gif");

        JButton myImageButton = new JButton(myImageIcon);
        JLabel myImageLabel = new JLabel(myImageIcon);

        JButton myTextAndImageButton = new JButton("Button Text", myImageIcon);
        myTextAndImageButton.setFont(DISPLAY_FONT);

        // note: the third argument here is with regard to the LABEL's horizontal
        //    alignment, NOT the label's text;

        JLabel myTextAndImageLabel = new JLabel("Label Text", myImageIcon,
                                                SwingConstants.CENTER);
        myTextAndImageLabel.setFont(DISPLAY_FONT);

        this.add(myImageButton);
        this.add(myImageLabel);
        this.add(myTextAndImageButton);
        this.add(myTextAndImageLabel);

    } // end ImageIconEx1Panel constructor

    // data fields for ImageIconEx1Panel

    private final static Font DISPLAY_FONT = new Font(
                                            "Dialog", Font.PLAIN, 20);
}

Recommended Answers

All 2 Replies

kindly make a program that can make GUI that can draw graphics when the buttons is clicked.

commented: Year late "gimme teh codez" bump. -4

You put the absolute path of the file, but did it find the file? You enclosed your directory names in single quotes, which doesn't make sense to me. I doubt it is finding the file. Read this which describes what will happen if the image isn't found: nothing will happen, the ImageIcon will be created normally, it just won't paint anything. Furthermore, you should read that article, it describes the whole process in detail and gives you helpful code and methods. Oh, and it looks like you never set a preferred or an absolute size on the JPanel. .

:)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.