我无法在java中读取图像以将其导出为JAR

时间:2015-10-14 20:15:00

标签: java swing executable-jar

此代码抛出一个NullPointerException,我不明白为什么。

try {
    imageIcon = new ImageIcon(ImageIO.read(new File("res/Background.png")));
    backgroundImage = imageIcon.getImage();
    signIn = new MyButton("SignIn", ImageIO.read(new File("res/SignIn.png")), ImageIO.read(new File("res/SignInHover.png")));
    signUp = new MyButton("SignUp", ImageIO.read(new File("res/SignUp.png")), ImageIO.read(new File("res/SignUpHover.png")));
    back = new MyButton("Back", ImageIO.read(new File("res/Back.png")), ImageIO.read(new File("res/BackHover.png")));
    exit = new MyButton("Exit", ImageIO.read(new File("res/Exit.png")), ImageIO.read(new File("res/ExitHover.png")));
} catch(IOException e) {
    JOptionPane.showMessageDialog(null, "");
}

res/是项目根目录中的源文件夹,其中包含此段代码中使用的所有图像,但我无法使其工作。我已经尝试使用getClass().getResource()(它在Eclipse内部但不是从.jar文件中运行)和getClass().getResourceAsStream()(它抛出一个异常,告诉输入流是空的)但是没有用。

P.S。:MyButton是一个用户定义的类,它扩展了JButton并具有构造函数MyButton(String, final BufferedImage, final BufferedImage)

1 个答案:

答案 0 :(得分:0)

  

毕竟我成功只是在我的源(即res下)文件夹下制作图像文件夹。并使用方法

ImageIO.read(getClass().getResource("/images/SignIn.png"));