已有101人关注
Java从入门到精通(第四版) 235页例 13.4 报错原因 求分析?
发表在Java图书答疑 2017-06-07
是否精华
版块置顶:

代码如下:

import java.awt.*;

import java.net.*;


import javax.swing.*;


public class MyImageIcon extends JFrame {


private static final long serialVersionUID = 1L;


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); // 实例化Icon对象

jl.setIcon(icon); // 为标签设置图片

// 设置文字放置在标签中间

jl.setHorizontalAlignment(SwingConstants.CENTER);

jl.setOpaque(true); // 设置标签为不透明状态

container.add(jl); // 将标签添加到容器中

setSize(250, 100); // 设置窗体大小

setVisible(true); // 使窗体可见

// 设置窗体关闭模式

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

}


public static void main(String args[]) {

new MyImageIcon(); // 实例化MyImageIcon对象

}

}


图片位置与class位置一致,

报错代码如下:

Exception in thread "main" java.lang.NullPointerException

at javax.swing.ImageIcon.<init>(ImageIcon.java:217)

at MyImageIcon.<init>(MyImageIcon.java:16)

at MyImageIcon.main(MyImageIcon.java:29)

ImageIcon.java:217 位置中代码如下:

 public ImageIcon (URL location) {

        this(location, location.toExternalForm());

    }

保存时候没报错,运行就报错了,断点了,感觉URL设置问题,但图片位置是对的。请老师帮分析下。

分享到:
精彩评论 2
David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-06-07
沙发

空指针是因为程序没有找到imageButton.jpg这幅图片。正确的项目结构如下图所示(读者可到光盘中找一下imageButton.jpg这幅图片,然后在Eclipse窗口处直接把图片复制、粘贴到src文件夹下):

无标题.png


chenbaojunjava
学分:58 LV3
2017-06-07
板凳

David 发表于2017-06-07 11:38

空指针是因为程序没有找到imageButton.jpg这幅图片。正确的项目结构如下图所示(读者可到光盘中找一下imageButton.jpg这幅图片,然后在Eclipse窗口处直接把图片复制、粘贴到src文件夹下):

无标题.png


谢谢,解决了,一直以为是代码问题,弄了半天原来是项目结构问题。

十分感谢。

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照