已有101人关注
这本书的案例二有段代码执行不了,是什么原因?附代码和错误报告
发表在Java图书答疑 2017-08-15 《Java从入门到精通(第4版)》第18章 多线程
是否精华
版块置顶:

package com.mingrisoft;


import java.awt.*;

import java.net.*;


import javax.swing.*;


public class SwingAndThread extends JFrame {

private JLabel jl = new JLabel(); // 声明JLabel对象

private static Thread t; // 声明线程对象

private int count = 0; // 声明计数变量

private Container container = getContentPane(); // 声明容器

public SwingAndThread() {

setBounds(300, 200, 250, 100); // 绝对定位窗体大小与位置

container.setLayout(null); // 使窗体不使用任何布局管理器

URL url = SwingAndThread.class.getResource("/com/mingrisoft/1.gif"); // 获取图片的URL

Icon icon = new ImageIcon(url); // 实例化一个Icon

jl.setIcon(icon); // 将图标放置在标签中

// 设置图片在标签的最左方

jl.setHorizontalAlignment(SwingConstants.LEFT);

jl.setBounds(10, 10, 200, 50); // 设置标签的位置与大小

jl.setOpaque(true);

t = new Thread(new Runnable() { // 定义匿名内部类,该类实现Runnable接口

public void run() { // 重写run()方法

while (count <= 200) { // 设置循环条件

// 将标签的横坐标用变量表示

jl.setBounds(count, 10, 200, 50);

try {

t.sleep(1000); // 使线程休眠1000毫秒

} catch (Exception e) {

e.printStackTrace();

}

count += 4; // 使横坐标每次增加4

if (count == 200) {

// 当图标到达标签的最右边,使其回到标签最左边

count = 10;

}

}

}

});

t.start(); // 启动线程

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

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

// 设置窗体的关闭方式

setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

}

public static void main(String[] args) {

new SwingAndThread(); // 实例化一个SwingAndThread对象

}

}

错误报告:

Exception in thread "main" java.lang.NullPointerException

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

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

at SwingAndThread.main(SwingAndThread.java:48)


2017-08-15 23:32:54编辑
分享到:
精彩评论 1
小禾斗
学分:7318 LV13
TA的每日心情
奋斗
2017-04-21 14:00:25
2017-08-17
沙发

读者朋友:

  您好,这是一个空指针异常,这个例子用到了一个1.gif图片,需要放到com/mingrisoft包下面。

首页上一页 1 下一页尾页 1 条记录 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经营性网站备案信息 营业执照