[英]Java - ImageIO throws IllegalArgumentException
您好Java開發人員,
所以我最近遇到了這個問題。 這是SSCCE:
public class SampleClass extends JPanel{
private Image img;
private final String IMG_DIRECTORY = ("/res/BG.png");
public SampleClass(){
try{
img = ImageIO.read(getClass().getResource(IMG_DIRECTORY));
} catch (IOException ioEx) {
ioEx.printStackTrace();
}
}
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(img, 0, 0, null);
}
}
這行拋出異常
img = ImageIO.read(getClass().getResource(IMG_DIRECTORY));
這是StackTrace:
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at com.forte.project.chatservice.uicomponent.FrameBackground.<init>(FrameBackground.java:27)
at com.forte.project.chatservice.ui.MainFrame.<init>(MainFrame.java:27)
at com.forte.project.chatservice.ChatService.main(ChatService.java:18)
我已經完成以下工作:
- 谷歌。
-更新了我的Java
-.getResourceAsStream(IMG_DIRECTORY);
-this.getClass()。getResource(IMG_DIRECTORY));
-MainClass.class.getClass()。getResource(IMG_DIRECTORY);
將res
文件夾放置到src
文件夾可解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.