在JPanel上平铺背景图片
import java.awt.Graphics;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class BackgroundImagePanel extends JPanel {
// 图片
URL imgURL = Util.class.getClassLoader().getResource("images/bg_image.png");
// 重写的绘图函数,绘制平铺图片
public void paintComponent(Graphics g) {
super.paintComponent(g);
// 绘制平铺图片背景
ImageIcon icon = new ImageIcon(imgURL);
// 每一副图像的位置坐标
int x = 0;
int y = 0;
// 平铺背景图片
while (true) {
// 绘制图片
g.drawImage(icon.getImage(), x, y, this);
// 如果绘制完毕,退出循环
if (x > getSize().width && y > getSize().height)
break;
// 如果绘完一行,换行绘制
if (x > getSize().width) {
x = 0;
y += icon.getIconHeight();
}
// 如果在当前行,得到下一个图片的坐标位置
else
x += icon.getIconWidth();
}
}
}
本文介绍了一个自定义JPanel组件的方法,该组件能够在Java Swing界面中实现背景图片的平铺显示。通过重写paintComponent方法,并利用ImageIcon加载指定路径的图片资源,实现了背景图片根据组件大小重复铺满的效果。

被折叠的 条评论
为什么被折叠?



