0

我正在看这个教程:关于如何创建自定义 JButtons

我把我的文件放在 C < Users < MyUserName < workspace < ProjectName < src 中,就像教程说的那样,我得到了这个错误Exception in thread "main" java.lang.NullPointerException at javax.swing.ImageIcon.<init>(Unknown Source) at Gui.<init>(Gui.java:20) at tuna.main(tuna.java:6) 在下一个教程的评论中,它说把它放在 C < Users < MyUserName < workspace < ProjectName < bin 所以我试过了,我仍然得到同样的错误。我正在使用 eclipse,并且我的版本比教程中使用的版本更新。有什么帮助吗?

附加信息:文件为 .png

金枪鱼:

    Gui item = new Gui();
    item.setSize(300,300);
    item.setLocation(200,100);
    item.setVisible(true);
    item.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

编辑:它现在正在工作,我不知道为什么它之前出错了,我没有改变任何东西。无论如何感谢您的帮助!

4

2 回答 2

3

只要从放置图像的位置加载图像,放置图像的位置就无关紧要。如果您正在使用

Icon yourIconName = new ImageIcon(getClass().getResource("yourIconName.png"));

那么它不仅需要在您的 src 文件夹中,而且还需要在与 tuna 相同的包中。

如果您使用的是绝对路径,"C/Users/MyUserName/workspace/projectName/imageFile.png"请确保您拥有要查找的图像的正确路径。

此外,您似乎正在使用 The New Boston 的教程,如果您发布您正在查看的教程可能会有所帮助。

于 2013-01-05T20:23:05.123 回答
0

您可以使用以下内容查看您的根目录是什么。

  File f = new File("");
  System.out.println(f.getAbsolutePath());

很可能您的程序正在查找与您想象的不同的目录。

于 2013-01-05T20:21:26.910 回答