新手提问:此代码是例题,能够编译但是不能够执行,问什么?
//这是java的例题,在我的机器上能够正常javac编译,但是java执行就提示错误。提示的执行错误如下:
/*
Exception in thread "main" java.lang.NullPointerException
at SwingExample.launchFrame(SwingExample.java:22)
at SwingExample.main(SwingExample.java:31)
*/
//代码如下:
import java.awt.*;
import javax.swing.*;
public class SwingExample
{
private JFrame f;
private JPanel p;
private JButton bw,bc;
private JButton bfile,bsave;
public SwingExample()
{
f=new JFrame("SwingExample");
bw=new JButton("West");
bc=new JButton("Work Space region");
bfile=new JButton("File");
bsave=new JButton("Save");
}
public void launchFrame()
{
Container c=f.getContentPane();
c.add(bw,BorderLayout.WEST);
c.add(bc,BorderLayout.CENTER);
p.add(bfile);
p.add(bsave);
c.add(p,BorderLayout.NORTH);
f.pack();
f.setVisible(true);
}
public static void main(String[] args)
{
SwingExample gui=new SwingExample();
gui.launchFrame();
}
};
问题点数:20、回复次数:5Top
1 楼zebra007(呼呼)回复于 2005-09-08 18:33:22 得分 11
p没有new
所以产生了空指针操作的异常
在构造函数里加:
p= new JPanel();Top
2 楼nintha(注意休息)回复于 2005-09-08 18:34:33 得分 7
import java.awt.*;
import javax.swing.*;
public class SwingExample
{
private JFrame f;
private JPanel p;
private JButton bw,bc;
private JButton bfile,bsave;
public SwingExample()
{
f=new JFrame("SwingExample");
bw=new JButton("West");
bc=new JButton("Work Space region");
bfile=new JButton("File");
bsave=new JButton("Save");
p=new JPanel(); // 加上这一行
}
public void launchFrame()
{
Container c=f.getContentPane();
c.add(bw,BorderLayout.WEST);
c.add(bc,BorderLayout.CENTER);
p.add(bfile);
p.add(bsave);
c.add(p,BorderLayout.NORTH);
f.pack();
f.setVisible(true);
}
public static void main(String[] args)
{
SwingExample gui=new SwingExample();
gui.launchFrame();
}
};
Top
3 楼fox_blue(蓝狐)回复于 2005-09-08 18:37:39 得分 2
---p.add(bfile);
p没有初始化,当然会抛出空指针异常Top
4 楼tingyiyan(流动的水)回复于 2005-09-08 18:38:08 得分 0
是的,的确少了这一句。
ok了。
谢谢!Top
5 楼jwbecalm(跟随你的心)回复于 2005-09-08 18:52:58 得分 0
程序在编译时通得过,并不表示在运行时不出错。
RuntimeException就是在运行时抛出的,表示程序里还有BUG,需要改进。完成好的程序应保证尽量不抛出
RuntimeException.
10.常见的RuntimeException :ArithmeticException,ClassCastException,IllegalArgumentException,IndexOutOfBoundsException,NullPointerException.Top




