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作爲如何解決我的代碼中的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是我的文件以及我的類的名稱。 我查找了它的原因爲 嘗試調用空對象的實例方法,嘗試訪問或修改空對象的特定字段, 嘗試獲取與數組類似的空對象的長度。 但無法鏈接到我的代碼中的任何錯誤的原因。 需要幫助。 在此先感謝。
嗯,這是第65行?無論您試圖添加哪個項目,它實際上都是「空」。 –
請告訴我們哪一行是L65。 – Thilo
你確定你需要所有這些字段嗎?如果你使它們成爲局部變量,編譯器會告訴你哪一個沒有初始化。 – Thilo