gpt4 book ai didi

java JMenuBar空指针异常

转载 作者:行者123 更新时间:2023-11-30 03:22:48 24 4
gpt4 key购买 nike

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

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

GUI 类代码:

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 错误:

Taschenrechner taschenrechner1 = new Taschenrechner();

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

最佳答案

MenuBar.add(MenuHelp);

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

你缺少一个

MenuBar = new JMenuBar (..);

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

关于java JMenuBar空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30953137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com