初学者求大神赐教

a107032082 2014-11-06 04:24:02
为何下面这个程序在ecplise。exe中运行不了。版本是jdk-7u67。控制台上显示的是:Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:205)
at com.lzw.JButtonTest.<init>(JButtonTest.java:17)
at com.lzw.JButtonTest.main(JButtonTest.java:49)


程序是:

package com.lzw;

import java.awt.*;
import java.awt.event.*;
import java.net.*;

import javax.swing.*;

public class JButtonTest extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;

public JButtonTest() {
URL url = JButtonTest.class.getResource("imageButtoo.jpg");
Icon icon = new ImageIcon(url);
setLayout(new GridLayout(3, 2, 5, 5)); // 设置网格布局管理器
Container c = getContentPane(); // 创建容器
for (int i = 0; i < 5; i++) {
// 创建按钮,同时设置按钮文字与图标
JButton J = new JButton("button" + i, icon);
c.add(J); // 在容器中添加按钮
if (i % 2 == 0) {
J.setEnabled(false); // 设置其中一些按钮不可用
}
}
JButton jb = new JButton(); // 实例化一个没有文字与图片的按钮
jb.setMaximumSize(new Dimension(90, 30)); // 设置按钮与图片相同大小
jb.setIcon(icon); // 为按钮设置图标
jb.setHideActionText(true);
jb.setToolTipText("图片按钮"); // 设置按钮提示为文字
jb.setBorderPainted(false); // 设置按钮边界不显示
jb.addActionListener(new ActionListener() { // 为按钮添加监听事件
public void actionPerformed(ActionEvent e) {
// 弹出确认对话框
JOptionPane.showMessageDialog(null, "弹出对话框");
}
});
c.add(jb); // 将按钮添加到容器中

setTitle("创建带文字与图片的按钮");
setSize(350, 150);
setVisible(true);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}

public static void main(String args[]) {
new JButtonTest();
}
}
...全文
243 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
code小生 2014-11-07
  • 打赏
  • 举报
回复
要在eclipse中运行,程序就是导入的,相应的图片路径肯定要改变,否则就找不到路径,编辑出错;
yanggang832 2014-11-07
  • 打赏
  • 举报
回复
URL url = JButtonTest.class.getResource("imageButtoo.jpg"); Icon icon = new ImageIcon(url); 估计你的URL为null,没找到那个图片,试试下面这种写法 URL url = JButtonTest.class.getClassLoader().getResource("imageButtoo.jpg"); 这样可以运行啊,你确定你项目底下有imageButtoo.jpg这张图片?
a107032082 2014-11-07
  • 打赏
  • 举报
回复
还是不行,我这个程序你运行过不?我想知道是程序出问题还是eclipse出问题
w410071302 2014-11-07
  • 打赏
  • 举报
回复
我感觉写任何程序前,必须学debug。俗话说的好,day day debug ,day day up
w410071302 2014-11-07
  • 打赏
  • 举报
回复
debug调试阿
S117 2014-11-06
  • 打赏
  • 举报
回复
URL url = JButtonTest.class.getResource("imageButtoo.jpg"); Icon icon = new ImageIcon(url); 估计你的URL为null,没找到那个图片,试试下面这种写法 URL url = JButtonTest.class.getClassLoader().getResource("imageButtoo.jpg");

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧