Skip to main content

HOW TO ADD BACKGROUND IMAGE IN JAVA SWING

The simple example to insert an image to background of frame in java

Syntax :

ImageIcon("Path-to-imagefile//image_name.its-extension")));

Example : 

  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. class BackgroundImageJFrame extends JFrame
  5. {
  6. JButton b1;
  7. JLabel l1;
  8.                public BackgroundImageJFrame()
  9.                {
  10.                setTitle("Background Color for JFrame");
  11.                setLocationRelativeTo(null);
  12.                setDefaultCloseOperation(EXIT_ON_CLOSE);
  13.                setVisible(true);
  14.                setContentPane(new JLabel(new                                                                          ImageIcon("C:\\Users\\Public\\Pictures\\Sample                                                    Pictures\\Penguins.jpg")));
  15.                setLayout(new FlowLayout());
  16.                l1=new JLabel("Here is a button");
  17.                b1=new JButton("I am a button");
  18.                add(l1);
  19.                add(b1);               
  20.                setSize(500,500);             
  21.                }
  22.                public static void main(String args[])
  23.                {
  24.                new BackgroundImageJFrame();
  25.                }
  26. }

Description :

Step 1 - 3: All files imported
Step 4: Here class name extends JFrame. This means all the properties and methods of class "JFrame" can               be accessed in this class.
Step 6: Object of class JButton is defined to get actual button on GUI.
Step 7: Object of class JLabel is defined to get actual text on GUI.
Step 8: Constructor starts here.
Step 10:Set title to frame
Step 11:Set frame size.Note here image size is not being set only the size of frame is set.
Step 12:This line helps java frame to appear at the center of the screen.
Step 13:Closes on exit.
Step 14:To make the frame appear.You can also disappear this frame depending on your                                         requirements.Simply write setVisible(false).
Step 15:In this step make sure firstly to give proper path where the image file is located.Secondly while                      copying the path make sure there is '\\' and not single '\'.
Step 16:One of the layouts is set here.Details about the layouts will be covered in different section.
Step 17:JLabel object is created and text to be displayed is written in double quotes.
Step 18:JButton object is created and text to be displayed on button is written in double quotes. 
Step 19: Adds created objects to frame.
Step 22 - 24: In main function object of class is created using "new" keyword