gpt4 book ai didi

java - 图像不显示在 JFrame 上

转载 作者:行者123 更新时间:2023-11-30 10:28:55 27 4
gpt4 key购买 nike

我已经用 Java 编写游戏代码一段时间了,但我被困在图像处理上。我不知道为什么,但它在我以前的所有游戏中都有效。我说得对吗?谢谢指教!

public class Game extends JPanel implements ActionListener {
private static final long serialVersionUID = 1L;

private Timer gameLoop;
public static final int WIDTH = 800;
public static final int HEIGHT = 500;
public static final Dimension SCREEN_SIZE = new Dimension(WIDTH, HEIGHT);
public static final int FRAMERATE = 60;
public static final String TITLE = "MedievalGame";

public BufferedImage[] images = new BufferedImage[4];

public int x = 100;
public int y = 100;
public int width = 100;
public int height = 100;

public Game() {
this.setPreferredSize(SCREEN_SIZE);
this.setFocusable(true);

try {
images[0] = ImageIO.read(getClass().getResourceAsStream("path"));
} catch (IOException e) {
e.printStackTrace()
}

gameLoop = new Timer(1000 / FRAMERATE, this);
gameLoop.start();
}

@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(images[0], x, y, width, height, null);
}

public void actionPerformed(ActionEvent e) {
this.repaint();
}

public static void main(String[] args) {
JFrame window = new JFrame(TITLE);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setResizable(false);
window.add(new Game());
window.pack();
window.setLocationRelativeTo(null);
window.setVisible(true);
}
}

我检查了很多类似的问题,但没有一个能解决我的问题。

最佳答案

你的代码对我来说工作正常:

enter image description here

我所做的只是将图像添加到 .java 文件的同一个包中,我没有使用 IDE,但您可能正在使用它,因此您可以管理包。 .

我非常确定这是一个路径问题,而不是代码问题,但是一旦您将图像与 JAR 文件一起导出,它们就会变成嵌入式资源,因此明智的做法是像对待它们一样对待它们并加载它们如图here

另请阅读:Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing? (普遍的共识是肯定的,并且要覆盖 getPreferredSize() 方法)...

关于java - 图像不显示在 JFrame 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44335253/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com