java null pointer exception JMenuBar



我今天在 eclipse 3.8 平台上遇到了一个 java 错误。

我尝试在JFrame上生成一个简单的菜单栏。JMenuBar 包含 JMenu("Help"),JMenu 包含 JMenuItem("Quit")。该类扩展了一个 JFrame。使用函数(这个。setJMenuBar(MenuBar);我尝试将我的菜单栏设置为我的 JFrame,只要我只有一个菜单栏,它应该可以正常工作。

图形用户界面类代码:

import javax.swing.*;
import java.awt.*;
public class Taschenrechner extends JFrame{
//Instanzvariablen im Zusamenhang mit dem Menu
private JMenuBar MenuBar;
private JMenu MenuHelp;
private JMenuItem MenuHelpQuit;
public Taschenrechner() {
    super();
    //Flaeche festlegen
    this.setSize(300,300);
    //Menukomponenten definieren
    MenuHelp= new JMenu("Help");
    MenuHelpQuit=new JMenuItem("Quit");
    //Menukomponenten zusammensetzen
    MenuHelp.add(MenuHelpQuit);
    MenuBar.add(MenuHelp);
    this.setJMenuBar(MenuBar);
}
}

我的主类代码(声明 objekt 和 setVisible):

public class Taschenrechnerstart {
public static void main(String[] args) {
    Taschenrechner taschenrechner1 = new Taschenrechner();
    taschenrechner1.setVisible(true);
}
}

现在在启动代码时,我在线在 GUI 类中收到一个 NullPointerException 错误:

MenuBar.add(MenuHelp);

以及该行主类中的 NullPointerException-error:

Taschenrechner taschenrechner1 = new Taschenrechner();

有人知道为什么我的代码不起作用吗?

MenuBar.add(MenuHelp);

您正在访问菜单栏变量而不对其进行初始化。

您缺少一个

MenuBar = new JMenuBar (..);

顺便说一句,如果您使用 Java 命名约定(变量应以小写字母开头),您的代码将更具可读性。

相关内容

  • 没有找到相关文章

最新更新