下面这个代码,编译的时候没有错,但运行时却显示:
Exception in thread "main" java.lang.NullPointerException
    at WindowMenu.init<WindowMenu.java:28>
    at WindowMenu.<init><WindowMenu.java:11>
    at Example11_2.main<Example11_2.java:3>请问下到底是什么问题?。
import javax.swing.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import static javax.swing.JFrame.*;
public class WindowMenu extends JFrame{
JMenuBar menubar;
JMenu menu,subMenu;
JMenuItem item1,item2;
public WindowMenu(){}
public WindowMenu(String s,int x,int y,int w,int h){
init(s);
setLocation(x,y);
setSize(w,h);
setVisible(true);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);



}
void init(String s){
setTitle(s);
menubar=new JMenuBar();
menu=new JMenu("菜单");
subMenu=new JMenu("软件项目");
item1=new JMenuItem("JAVA话题",new ImageIcon("E:/JAVA/tb/1/a.gif"));
item1=new JMenuItem("动画话题",new ImageIcon("E:/JAVA/tb/1/b.gif"));
item1.setAccelerator(KeyStroke.getKeyStroke('A'));
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
menu.add(item1);
menu.addSeparator();
menu.add(item2);
menu.add(subMenu);
subMenu.add(new JMenuItem("汔车销售系统",new ImageIcon("E:/JAVA/tb/1/c.gif")));
subMenu.add(new JMenuItem("农场销售系统",new ImageIcon("E:/JAVA/tb/1/d.gif")));
menubar.add(menu);
setJMenuBar(menubar);



}





}
public class Example11_2{
public static void main(String args[]){
WindowMenu win=
new WindowMenu("带菜单的窗口",20,30,200,190);



}



}

解决方案 »

  1.   

    Exception in thread "main" java.lang.NullPointerException
      at WindowMenu.init<WindowMenu.java:28>
      at WindowMenu.<init><WindowMenu.java:11>
      at Example11_2.main<Example11_2.java:3>
    空指针异常。查看Example11_2.java的第三行
    WindowMenu.java的第11行。
    WindowMenu.java 的28行
      

  2.   

    出错在这句.
    item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
    item2没有初始化。
    看楼主的程序,是不是下面这句
    item1=new JMenuItem("动画话题",new ImageIcon("E:/JAVA/tb/1/b.gif"));
    应为:
    item2=new JMenuItem("动画话题",new ImageIcon("E:/JAVA/tb/1/b.gif"));  //item2 
      

  3.   

    十分感谢各位,问题是出在item2那,程序能运行了,但图片却不能显示,不知是什么原因,地址是没错的。