继续得到这个错误;“线程中的异常”;“主要”;java.lang.NullPointerException
我不断地发现这个错误:继续得到这个错误;“线程中的异常”;“主要”;java.lang.NullPointerException,java,nullpointerexception,Java,Nullpointerexception,我不断地发现这个错误: Exception in thread "main" java.lang.NullPointerException at javax.swing.ImageIcon.<init>(Unknown Source) at SlotMachinePanel.<init>(SlotMachinePanel.java:55) at SlotMachineDriver.main(SlotMachineDriver.java:16) 我
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at SlotMachinePanel.<init>(SlotMachinePanel.java:55)
at SlotMachineDriver.main(SlotMachineDriver.java:16)
我还有一个司机
//Driver for SlotsMachinePanel
import javax.swing.JFrame;
public class SlotMachineDriver
{
//--------------------------------
// Creates the main program frame.
//--------------------------------
public static void main (String[] args)
{
JFrame frame = new JFrame ("Slot Machine");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new SlotMachinePanel());
frame.pack();
frame.setVisible(true);
}
}
这似乎返回了
null
getClass().getResource(“casino chips.jpg”)
我会检查是否如此以及原因
然后相应地修复它。问题是像
(new)这样的行之一
javax.swing.ImageIcon(getClass().getResource(“/programming/assignment/pkg2/programming assignment2/aaa.png”)
找不到资源。请将资源分离为变量,并添加一些日志记录或对其进行调试
URL file = getClass().getResource("/programming/assignment/pkg2/programming assignment2/aaa.png");
LOG.info("Trying to load " + file.toString());
ImageIcon img = new ImageIcon(file);
第55行是什么代码?似乎是这一行:
newjavax.swing.ImageIcon(getClass().getResource(“casino chips.jpg”))
,但您能否在IDE中验证这一点?检查getClass().getResource(“casino chips.jpg”)是否正确return是object还是null?我解决了这个问题,多亏了用户peter.petrov,他指出了哪一行给出了错误的值。看起来我将图像保存在src文件夹而不是bin文件夹中。移动它们解决了这个问题。我应该将图像保存在哪里?我会将它们放在与.java相同的文件夹中吗文件?我想我可能把它们保存在错误的位置。我不擅长这个。我会阅读javadoc,然后寻找一些关于这个主题的示例和简单教程。尝试将它们放在应用程序的工作目录中(类文件所在的根目录)。谢谢,我刚刚试过,但似乎不起作用。我到底应该在哪里保存图像以供Eclipse查找资源?这个问题有很多答案。我搜索了“[java]类getResource URL”,它给了我一些很好的匹配。例如,尝试一下。
URL file = getClass().getResource("/programming/assignment/pkg2/programming assignment2/aaa.png");
LOG.info("Trying to load " + file.toString());
ImageIcon img = new ImageIcon(file);