Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中将图像置于前台?_Java_Image_Swing_Graphics_Pacman - Fatal编程技术网

如何在Java中将图像置于前台?

如何在Java中将图像置于前台?,java,image,swing,graphics,pacman,Java,Image,Swing,Graphics,Pacman,我正在尝试用Java创建一个吃豆人游戏,到目前为止我已经显示了背景图像(蓝色和黑色迷宫),但是我在显示吃豆人的图像时遇到了问题。当我尝试用我显示背景的相同方法显示他时,除非我稍微手动改变Jframe的大小,否则他不会出现。即使如此,当他出现时,在他的图像的右下角仍然有一个白色的小正方形。我能做些什么来解决这个问题?有没有其他方法可以插入pacman图像 代码如下: JFrame window = new JFrame(); ImageImplement pacman = new Ima

我正在尝试用Java创建一个吃豆人游戏,到目前为止我已经显示了背景图像(蓝色和黑色迷宫),但是我在显示吃豆人的图像时遇到了问题。当我尝试用我显示背景的相同方法显示他时,除非我稍微手动改变Jframe的大小,否则他不会出现。即使如此,当他出现时,在他的图像的右下角仍然有一个白色的小正方形。我能做些什么来解决这个问题?有没有其他方法可以插入pacman图像

代码如下:

  JFrame window = new JFrame();

  ImageImplement pacman = new ImageImplement(new ImageIcon("C:\\Users\\16ayoubc\\Desktop\\Pacman-moving.gif").getImage());  
  ImageImplement panel = new ImageImplement(new ImageIcon("C:\\Users\\16ayoubc\\Desktop\\background.png").getImage());

  pacman.setLocation(255, 255);
  pacman.setVisible(true);
  pacman.setOpaque(true);
  window.add(pacman);
  window.add(panel);

  window.setVisible(true);
  window.setSize(576,655);
  window.setName("Pacman");
  window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

在添加背景之前,您正在添加pacman,因此它正在绘制pacman精灵,而您没有看到它。确保在游戏中以相反的顺序绘制项目,因此首先绘制背景,然后绘制pacman。

使用JLayeredPane代替窗口直接绘制容器,并在添加组件时指定组件的深度(z顺序)

 window.add(pacman);
 window.add(panel);
不能将两个组件添加到BorderLayout的中心

如果希望pacman出现在面板上,则将pacman添加到窗口:

//window.add(pacman);
panel.add(packman)
window.add(panel);

我认为这个选项会起作用,但我们是初学者,如果你能提供一些实现这个的示例代码,那就太好了。我们将不胜感激。谢谢
//window.add(pacman);
panel.add(packman)
window.add(panel);