【发布时间】:2021-11-07 09:34:13
【问题描述】:
这是我的代码&如果我运行它会打印出来
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1348)
at com.auroraclient.launcher.AuroraLauncher.init(AuroraLauncher.java:28)
at Main.main(Main.java:7)
我 100% 确定包和文件在那里,但 java 似乎找错了地方。有人知道这里发生了什么吗?
public enum AuroraLauncher {
instance;
public JFrame frame;
public AuroraPanel panel;
public void init(){
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setTitle("Aurora Launcher rel- 91021");
frame.setBounds(320, 180, 1280, 720);
frame.setUndecorated(true);
frame.setResizable(false);
panel = new AuroraPanel(frame);
panel.setBounds(0, 0, 1280, 720);
panel.setVisible(true);
frame.add(panel);
try {
JLabel label = new JLabel(new ImageIcon(ImageIO.read(this.getClass().getResourceAsStream("resources/wat.png"))));
label.setVisible(true);
label.setBounds(0, 0, 1280, 720);
frame.add(label);
} catch (IOException e) {
e.printStackTrace();
}
/**
* Layer top buttons
*/
frame.setVisible(true);
}
}
【问题讨论】:
-
我会考虑使用资源的完整路径(来自类路径的上下文),可能类似于
/resources/wat.png。不使用前导/意味着它是类本身的相对路径,即package/to/class/resources
标签: java image swing awt embedded-resource