java swing 中如何添加图片作为背景

2024-12-12 07:49:52
推荐回答(2个)
回答1:

简单来说就是重写paint方法,然后调用画笔的drawImage这个方法。
如:
对一个JPanel加入背景图片“bg01.png”,那么就重写paint这个方法如下
在类里
/**
* 背景图片
*/
Image backgroundImage = null;

//这就是重写paint方法
public void paint(Graphics g)
{
loadRecources();

if(backgroundImage != null)
{
g.drawImage(backgroundImage, 0, 0, this);
}
}

public void loadRecources()
{
//载入背景图片
if(backgroundImage == null)
{
try
{
backgroundImage = ImageIO.read(new File("resources/Images/bg01.png"));
} catch (IOException e)
{
System.out.println("缺少背景图片");
JOptionPane.showMessageDialog(this, "找不到背景图片!", "文件缺失", JOptionPane.ERROR_MESSAGE);
}
}
}

这里只是写的一个示例代码,lz看看,然后分析下写一个类,然后如此尝试下,应该很快就能成功。

回答2:

应该是重写paintComponent。
不过swingx库提供了现成的功能,不必自己从头再来实现一次。