import javax.swing.*;
import java.awt.*;
/**
* @author Hardneedl
*/
final class PictureBackgroundFrame extends JFrame {
public String getTitle() {return "frame title";}
static private final Dimension size = new Dimension(600, 400);
public Dimension getPreferredSize() {return size;}
public Dimension getMaximumSize() {return size;}
public Dimension getMinimumSize() {return size;}
public Dimension getSize() {return size;}
private static final Image image = Toolkit.getDefaultToolkit().getImage("b.JPG");
private static final JComponent canvas = new JComponent(){
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics gg = g.create();
gg.drawImage(image,0,0,getWidth(),getHeight(),this);
gg.dispose();
}
};
PictureBackgroundFrame() throws HeadlessException {
attachListeners();
doLay();
}
private void attachListeners() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void doLay() {
Container container = getContentPane();
container.add(canvas);
pack();
setVisible(true);
}
public static void main(String[] args) {new PictureBackgroundFrame();}
}
把需要设置为JFrame中的背景图片(以zhidao.gif为例)放到与源文件相同的路径下,然后代码如下:
import java.awt.*;