在网上找了好多java窗体设置背景的方法,感觉都不是很靠谱,没办法问了师兄,
这种方法是通过给JPanel添加JLabel从而实现添加图片背景的
具体方法如下:
1、先创建一个ImageIcon对象,得到图片源(如果是绝对路径,先要把图片拷贝到当前包)
2、用得到的图片源创建一个JLabel对象lb
3、获取窗体的底层面板,并将lb添加到底层面板
4、设置lb大小
5、获取窗体内容面板,并将其设置为透明
具体代码如下
package BubbleBobble1;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.ImageObserver;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Frame extends JPanel{
public void Fra(){
JFrame jfr = new JFrame();
jfr.setSize(1200, 1000);
jfr.setLocationRelativeTo(null);
jfr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//创建图片对象
ImageIcon imgIc = new ImageIcon(this.getClass().getResource("背景.jpg"));
//用图片创建一个标签对象
JLabel lb = new JLabel(imgIc);
//获取窗体底层面板,将标签添加到底层面板
jfr.getLayeredPane().add(lb,new Integer(Integer.MIN_VALUE));
//设置标签大小
lb.setBounds(0, 0, jfr.getWidth(), jfr.getHeight());
//获取窗体内容面板,使其透明
JPanel pan = (JPanel)jfr.getContentPane();
pan.setOpaque(false);
jfr.setVisible(true);
}
public static void main (String[] args){
Frame fra = new Frame();
fra.Fra();
}
如有不足,我们可以在留言区交流学习(^__^)