初学者求大神赐教
为何下面这个程序在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();
}
}
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();
}
}
...全文
相关推荐
使用c++求两个数的最大公约数(适用于初学者,易懂)
使用c++求两个数的最大公约数(适用于初学者,易懂)我大一,才学习c++,希望分享一些我写过的程序,有一些地方不好理解的地方我有重点备注,希望对你们有用。笔芯
求数字个位置和.rar(vb初学者不妨看看)
总之,"求数字个位置和"是一个基础的编程练习,它涵盖了输入输出、变量操作、字符串处理、循环结构、条件判断等核心编程概念,对VB初学者而言是一个很好的起点。
初学者python学习记录-三角形已知三边求面积
初学者python学习记录-三角形已知三边求面积
.Net 初学者的树控件和递归算法求阶乘
通过研究这些示例,初学者可以加深对这两个概念的理解,并提高编程技能。总之,.NET初学者在学习过程中应掌握树控件的使用,如创建、操作节点和处理事件,同时理解并能应用递归算法,如求阶乘。
求两点距离(C语言)
在编程领域,尤其是在初学者阶段,经常会遇到一些基础的数学计算问题,比如“求两点之间的距离”。本篇将深入探讨如何使用C语言来实现这个功能,同时也会涉及到一些与编程和计算机科学相关的基础知识。


