首页上一页 1 下一页尾页 3 条记录 1/1页
书中的程序在Eclipse里运行不了,求赐教
发表在Java图书答疑
2014-11-07
是否精华
是
否
版块置顶:
是
否
Java从入门到精通第3版第13章,13.6.1节。程序如下。还有13.2.2JDiaog这节的程序及13.3.2中使用图片图标里的程序也运行不了。
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();
}
}
运行后控制面板显示的是: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();
}
}
运行后控制面板显示的是: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)