Search Your Question

Friday, June 5, 2009

Set Image Background in a JPanel

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.swing.*;

public class BackgroundImage {
public static void main(String[] args) throws IOException {
BufferedImage image = javax.imageio.ImageIO.read(new File("C:\\WINDOWS\\Web\\Wallpaper\\Azul.jpg"));
ImageBackgroundPanel imp = new ImageBackgroundPanel(image);

// Set layout and add components to imp as desired.

JFrame f = new JFrame();
JTextField txtField=new JTextField(20);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(imp);
imp.add(txtField);
f.setSize(400,400);
f.setLocation(200,200);
f.setVisible(true);
}
}

class ImageBackgroundPanel extends JPanel {
BufferedImage image;

ImageBackgroundPanel(BufferedImage image) {
this.image = image;
}

protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image, 0, 0, this);
}
}