gpt4 book ai didi

java - 如何解决我的代码中的 NullPointerException?

转载 作者:行者123 更新时间:2023-11-29 05:46:30 25 4
gpt4 key购买 nike

import java.awt.*;
import java.awt.event.*;
public class Project_notepad
{
private Frame f; //basic frame
public MenuBar mb; //menubar declaration
private Menu File, Edit, Format,View, Findit;
private MenuItem new_file,new_window,open,save,save_as, close, cut, copy, paste, case_convert, indent,font,style,size,underline,italic,bold,finds, incremental_find,replace;
private CheckboxMenuItem status_bar,word_wrap,hide_menu_bar,full_screen;
public Project_notepad()
{
f=new Frame();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); class object for setting max screen size
f.setBounds(0,0,screenSize.width, screenSize.height);
mb=new MenuBar(); //menu bar declaration
File=new Menu("File");
Edit=new Menu("Edit");
Format=new Menu("Format");
View=new Menu("View");
Findit=new Menu("Find");

new_file=new MenuItem("new file"); //menu items declaration
new_window=new MenuItem("new window");
open=new MenuItem("open");
save=new MenuItem("save");
save_as=new MenuItem("save as");
close=new MenuItem("close");
cut=new MenuItem("cut");
copy=new MenuItem("copy");
paste=new MenuItem("paste");
case_convert=new MenuItem("case convert");
indent=new MenuItem("indent");
font=new MenuItem("font");
style=new MenuItem("style");
size=new MenuItem("size");
underline=new MenuItem("underline");
italic=new MenuItem("italic");
bold=new MenuItem("bold");
incremental_find=new MenuItem("incremental_find");
replace=new MenuItem("replace");

status_bar=new CheckboxMenuItem("status bar"); //chechkbox items declaration
word_wrap=new CheckboxMenuItem("word wrap");
hide_menu_bar=new CheckboxMenuItem("hide menu bar");
full_screen=new CheckboxMenuItem("full screen");


File.add(new_file); //adding items to menu bar
File.add(new_window);
File.add(open);
File.add(save);
File.add(save_as);
File.add(close);
Edit.add(copy);
Edit.add(paste);
Edit.add(case_convert);
Edit.add(indent);
Format.add(font);
Format.add(style);
Format.add(size);
Format.add(underline);
Format.add(italic);
Format.add(bold);
Findit.add(finds);
Findit.add(incremental_find);
Findit.add(replace);
View.add(status_bar);
View.add(word_wrap);
View.add(hide_menu_bar);
View.add(full_screen);

mb.add(File);
mb.add(Edit);
mb.add(Format);
mb.add(View);
mb.add(Findit);

f.setMenuBar(mb);
f.setVisible(true);
}

public static void main(String args[])
{
Project_notepad pr=new Project_notepad();
}
}

实际上,我正处于开发用于在 java 中练习的记事本的初始阶段,但是得到 NullPointerException 作为

at java.awt.Menu.add(Menu.java:262)
at Project_notepad.<init><Project_notepad.java:65>
at Project_notepad.main<Project_notepad.java:92>

这里,project_notepad 是我的文件名,也是我的类(class)。我已经搜索了它的原因 试图调用空对象的实例方法,试图访问或修改空对象的特定字段,试图获取此类空对象的长度作为数组。但是无法链接到我的代码中错误的任何原因。需要协助。提前致谢。

最佳答案

当您在第 65 行添加“finds”变量时,您还没有初始化它。将其添加到上面的初始化列表中:

finds = new MenuItem("finds");

此外,获得更好的 IDE。大多数应该会告诉您是否还没有初始化某些东西,您可以在编译之前捕获它。

关于java - 如何解决我的代码中的 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15702735/

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