大家帮忙看一下 为什么编译通过了 运行时却报Exception in thread "main" java.lang.NullPointerException异常???
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MyFrame extends Frame
{
private MenuBar mb;
private Menu mt1,mt2,mt3,mt4;
private MenuItem m;
MyFrame(String name){
super(name);
init();
}
public void init()
{
setLayout(new FlowLayout());
setBounds(100,100,400,300);
mb = getMenuBar();
mt1= new Menu("文件");
mt2 = new Menu("编辑");
mt3 = new Menu("帮助");
mt4 = new Menu("点击");
m = new MenuItem("运算");
mt4.add(m);
mb.add(mt1);
mb.add(mt2);
mb.add(mt3);
mb.add(mt4);
this.setMenuBar(mb);
this.setVisible(true);
}
public static void main(String args[])
{
new MyFrame("接收程序");
}
}
------解决方案--------------------
getMenuBar返回对象为空
------解决方案--------------------
- Java code
import java.awt.*;import java.awt.event.*;import javax.swing.*;@SuppressWarnings("serial")public class MyFrame extends Frame { [color=#FF0000]private MenuBar mb = new MenuBar();[/color] private Menu mt1, mt2, mt3, mt4; private MenuItem m; MyFrame(String name) { super(name); init(); } public void init() { setLayout(new FlowLayout()); setBounds(100, 100, 400, 300); [color=#FF0000]//mb = getMenuBar();[/color] mt1 = new Menu("文件"); mt2 = new Menu("编辑"); mt3 = new Menu("帮助"); mt4 = new Menu("点击"); m = new MenuItem("运算"); mt4.add(m); mb.add(mt1); mb.add(mt2); mb.add(mt3); mb.add(mt4); this.setMenuBar(mb); this.setVisible(true); } public static void main(String args[]) { new MyFrame("接收程序"); }}