有没有办法在不使用新的 JPanel 的情况下添加背景?
我正在使用 Swing 用 Java 制作一个地牢主题的扫雷游戏,需要有一个不同的图像作为背景。我的游戏由一个主 JFrame 和标题屏幕以及 JPanel 的三个难度组成。
添加一个新面板来添加背景图片真的很困难,因为它会弄乱我的很多代码。我基本上只是想将背景“粘”到 JPanel 的背面,同时将其放在后面层,而不覆盖任何按钮。
我就是这么做的。覆盖paintComponent
import java.awt.Graphics;
import javax.swing.JPanel;
import vokabeltrainer.common.ApplicationImages;
public class TrashCanBackgroundPanel extends JPanel
{
private static final long serialVersionUID = -7918923007938243168L;
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
if (ApplicationImages.getTrashcanBackground() != null)
{
int x = this.getParent().getWidth() / 2 - 1000 / 2;
int y = this.getParent().getHeight() / 2 - 620 / 2;
g.drawImage(ApplicationImages.getTrashcanBackground(), x, y, this);
}
}
}
图像的宽度为1000像素,高度为620像素。