学习swing中的使用图片图标代码报错
`package com.ma.swing;
import java.awt.Container;
import java.net.URL;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
public class MyImageIcon extends JFrame{
public MyImageIcon(){
Container container=getContentPane();
//创建一个标签
JLabel jl=new JLabel("这是一个JFrame窗体",JLabel.CENTER);
//获取图片所在的URL
URL url=MyImageIcon.class.getResource("imageButton.jpg");
Icon icon=new ImageIcon(url);
jl.setIcon(icon);
jl.setHorizontalAlignment(SwingConstants.CENTER);
jl.setOpaque(true);
container.add(jl);
setSize(500,300);
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String args[]){
new MyImageIcon();
}
}`
报错
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:205)
at com.ma.swing.MyImageIcon.<init>(MyImageIcon.java:21)
at com.ma.swing.MyImageIcon.main(MyImageIcon.java:32)
修改
URL url=MyImageIcon.class.getResource("imageButton.jpg");
Icon icon=new ImageIcon(url);
刚开始修改成绝对路径也会报错,后来从网上查出需要将这两行代码修改成一行代码
Icon icon=new ImageIcon("src/com/ma/swing/imageButton.jpg");