我正在做一些有各种形状的小型迷你游戏。
Main jframe = new Main("Main");
JLabel backpic1 = new JLabel(new ImageIcon("D:/User/Desktop/Other/Cloud.jpg") );
jframe.add(backpic1);//background
jframe.setSize(600,600);//setting the size
jframe.setVisible(true);
所以在我添加背景后,背景涵盖了所有内容
public void paint(Graphics g) {
super.paint(g);
Graphics2D g1 = (Graphics2D) g;
shape-1.paint(g);
shape-2.paint(g);
shape-3.paint(g);
shape-4.paint(g);
user.paint(g);
}
游戏仍然在后台运行,我已经尝试了几件事来解决它,但它们似乎不起作用:(
答案 0 :(得分:-1)
你想用重绘方法做什么?
添加背景的方式..
如果您只是将JLabel添加到另一个上,那就错了..
一种方法是替换已用作背景的JLabel图像。
backpic1.setIcon(new ImageIcon("the other background Image"));
要覆盖的背景是合乎逻辑的,因为你使用了覆盖窗口内容面板的绘制方法。
如果这对您有用,请告诉我......