如何在Java中将图像带到前台?
Posted
技术标签:
【中文标题】如何在Java中将图像带到前台?【英文标题】:How to bring an image to the foreground in Java? 【发布时间】:2014-05-28 12:25:09 【问题描述】:我正在尝试用 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);
【问题讨论】:
【参考方案1】: window.add(pacman);
window.add(panel);
您不能将两个组件添加到 BorderLayout 的 CENTER。
如果您希望 pacman 出现在面板上,则将 pacman 添加到窗口中:
//window.add(pacman);
panel.add(packman)
window.add(panel);
【讨论】:
【参考方案2】:将窗口的 JLayeredPane 直接用于容器,并在添加组件时指定组件的深度(z 顺序)。
【讨论】:
我认为这个选项会起作用,但我们是初学者,如果你能提供一些实现它的示例代码,那就太好了。那将不胜感激。谢谢【参考方案3】:window.add(pacman);
window.add(panel);
您在添加背景之前添加了 pacman,因此它正在绘制 pacman 精灵并且您看不到它。确保在游戏中以相反的顺序绘制物品,因此先绘制背景,然后再绘制 pacman。
【讨论】:
以上是关于如何在Java中将图像带到前台?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ubuntu 中将 xampp 控制面板设置带到桌面? [关闭]