gpt4 book ai didi

java - 在命令提示符下运行时图像出现 NullPointerException

转载 作者:行者123 更新时间:2023-12-01 23:46:21 26 4
gpt4 key购买 nike

我有一个NullPointerException当我编译我的代码但它在 Eclipse 中运行良好。

命令提示符中的错误日志:

java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(Unknown Source)
at sun.awt.image.URLImageSource.getDecoder(Unknown Source)
at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
at sun.awt.image.ImageFetcher.run(Unknown Source)

获取图像的类是:

package tileGame;

import java.awt.Toolkit;
import javax.swing.ImageIcon;


public class Image {


public String address1;
public String address2;
public String name;
public String type;

public java.awt.Image image;

public Image(String name){
address1 = System.getProperty("user.dir");
address2 = "/Resources/Images/";
type = "png";
this.name = name;
}
public Image(String name, String type){
address1 = System.getProperty("user.dir");
address2 = "/src/Resources/Images/";
this.type = type;
this.name = name;
}
public Image(String name, String type, String address){
address1 = System.getProperty("user.dir");
this.address2 = address;
this.type = type;
this.name = name;
}
public void loadImage(){
//image = new ImageIcon(address1 + address2 + name + "." + type).getImage();
image = new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource(address2 + name + "." + type))).getImage();
System.out.println("Image Loaded '" + name + "' at '" + address2 + name + "." + type + "'");
}

}

这可能有一个很好的理由,但我看不到,因为我对 Java 还很陌生,所以如果有人能给我一些指示,那将是受欢迎的。

编辑:好的,我修复了我自己不会发现的常见人为错误。谢谢。

最佳答案

getClass().getResource(path) 访问类路径中的资源"file"(只读)。如果应用程序已编译,则该文件位于 jar 内。使用 7zip 或 WinZip,您可能会查看 jar 内部并找到路径。

该路径使用任意 URL / 作为路径分隔符。该路径可以是相对于类的(记住getClass()),即包路径。该路径也可以是 jar 根目录的绝对路径:“/...”。

此外,路径必须区分大小写,而不是 Windows 文件路径。

在您的情况下,不需要任何系统属性来获取文件系统路径。

关于java - 在命令提示符下运行时图像出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17002371/

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