【问题标题】:Loading image from .jar, Null Pointer Exception从 .jar 加载图像,空指针异常
【发布时间】:2014-12-14 14:10:51
【问题描述】:

我正在运行这段代码,它返回以下堆栈跟踪:

Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:115)
at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:125)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:263)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:205)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:169)

我不确定输出空指针异常的错误在哪里。有关如何解决此问题的提示?

import java.awt.BorderLayout;  
import java.awt.EventQueue;  
import java.awt.Graphics;  
import java.awt.Image;  
import java.awt.Toolkit;  
import javax.swing.JFrame;  
import javax.swing.JPanel;  
import javax.swing.border.EmptyBorder;  

public class MyFrame extends JFrame {  
     private JPanel contentPane;  

     public static void main(String[] args) {  
          EventQueue.invokeLater(new Runnable() {  
              public void run() {  
                    try {  
                         MyFrame frame = new MyFrame();  
              frame.setVisible(true);  
               } catch (Exception e) {  
                         e.printStackTrace();  
                   }  
               }  
        });  
     }   
   public MyFrame() {  
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        setBounds(100, 100, 450, 300);  
        contentPane = new JPanel() {  
             public void paintComponent(Graphics g) {  
                  Image img = Toolkit.getDefaultToolkit().getImage(  
                           MyFrame.class.getResource("/images/Ella and Louis_front.jpg"));  
                 g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);  
             }  
        };  
       contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));  
        contentPane.setLayout(new BorderLayout(0, 0));  
        setContentPane(contentPane);         }  

}

【问题讨论】:

  • 请提供堆栈跟踪
  • 当您收到异常或“错误”时,请发布堆栈跟踪,它会告诉我们异常发生在哪一行。堆栈跟踪旨在让您的生活更简单。在此处发布。
  • 我回答了这个问题,如果有帮助/没有帮助,请回复

标签: java image swing nullpointerexception


【解决方案1】:

获取资源时:MyFrame.class.getResource("/images/Ella and Louis_front.jpg") 它返回一个null,我建议检查一下: 我建议做一个检查:

URL url = MyFrame.class.getResource("/images/Ella and Louis_front.jpg")
if (url != null) {
    Image img = Toolkit.getDefaultToolkit().getImage(url);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多