MenuBar程序中的Java运行错误 [英] Java Run-Error in MenuBar Program

查看:95
本文介绍了MenuBar程序中的Java运行错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经用Java编写了此程序.
该程序运行完美.
iT也被编译.
但是使用以下命令运行它:
appletviewer<程序名="="> .java
它给出一个错误:

NullPointerException

程式:-

i Have made this Program in Java.
The Programe runs Perfectly.
iT Gets Compiled too.
But whn running it using:
appletviewer <programme name="">.java
it Gives an error:

NullPointerException

Programme :-

//WAP to display a menu
/*<applet code = "Menus1" height = 250 width = 250></applet>*/
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
class Menus2 extends Frame implements ActionListener, ItemListener
{
	
	//Menu f,e,al;
	MenuBar mb = new MenuBar ();
	MenuItem i1,i2,i3,i4,i5,i6,i7,i8,i9,i13,i14,i15;
	CheckboxMenuItem i10,i11,i12;
	TextField t1,t2;
	String p = "You Selected";
	String msg = "";
	String a;
	Scrollbar HS,VS;
	public Menus2 (String title)
	{
		super (title);
		setLayout (new FlowLayout ());
		
		Menu f = new Menu ("File");
		Menu e = new Menu ("Edit");
		Menu al = new Menu ("Format");
		i1 = new MenuItem ("New");
		i3 = new MenuItem ("Open");
		i3 = new MenuItem ("Save");
		i4 = new MenuItem ("-");
		i5 = new MenuItem ("Quit");
		i6 = new MenuItem ("Cut");
		i7 = new MenuItem ("Copy");
		i8 = new MenuItem ("Paste");
		i9 = new MenuItem ("-");
		i10 = new CheckboxMenuItem ("Bold");
		i11 = new CheckboxMenuItem ("Italic");
		i12 = new CheckboxMenuItem ("Plain");
		i13 = new MenuItem ("-");
		i14 = new MenuItem ("VerticalScrollBar");
		i15 = new MenuItem ("HorizontalScrollBar");
		t1 = new TextField (35);
		t2 = new TextField (35);
		mb.add (f);
		f.add (i1);
		f.add (i2);
		f.add (i3);
		f.add (i4);
		f.add (i5);
		mb.add (e);
		e.add (i6);
		e.add (i7);
		e.add (i8);
		e.add (i9);
		e.add (al);
		al.add (i10);
		al.add (i11);
		al.add (i12);
		e.add (i13);
		e.add (i14);
		e.add (i15);
		add (t1);
		add (t2);
		i1.addActionListener (this);
		i2.addActionListener (this);
		i3.addActionListener (this);
		i5.addActionListener (this);
		i6.addActionListener (this);
		i7.addActionListener (this);
		i8.addActionListener (this);
		i14.addActionListener(this);
		i15.addActionListener (this);
		i10.addItemListener (this);
		i11.addItemListener (this);
		i12.addItemListener (this);
		mWindow mw = new mWindow (this);
		addWindowListener (mw);
	}
	public void actionPerformed (ActionEvent e)
	{
		String s = e.getActionCommand ();
		if (s.equals(i1))
		{
			mDialog md = new mDialog (this, "newDialogbox",true);
			md.setVisible (true);
		}
		else if (s.equals (i2))
		{
			msg=p+ " Open ";
		}
		else if (s.equals (i3))
		{
			msg=p+ " Save ";
		}
		else if (s.equals (i5))
		{
			System.exit(0);
		}
		else if (s.equals (i6))
		{
			msg = "";
		}
		else if (s.equals (i7))
		{
			t1.setText (msg);
		}
		else if (s.equals (i8))
		{
			t2.setText (t1.getText());
		}
		else if (s.equals (i14))
		{
			Scrollbar HS;
			HS = new Scrollbar (Scrollbar.HORIZONTAL);
			add (HS);
		}
		else if (s.equals (i15))
		{
			Scrollbar VS;
			VS = new Scrollbar (Scrollbar.VERTICAL);
			add (VS);
		}
	}
	public void itemStateChanged (ItemEvent e)
	{
		if (e.getSource() == i6)
		{
			t1.setText (msg);
			Font f1 = new Font ("Georgia",Font.BOLD,15);
			setFont (f1);
		}
		else if (e.getSource() == i7)
		{
			t1.setText (msg);
			Font f2 = new Font ("Georgia",Font.ITALIC,15);
			setFont (f2);
		}
		else if (e.getSource() == i8)
		{
			t1.setText (msg);
			Font f3 = new Font ("Georgia",Font.PLAIN,15);
			setFont (f3);
		}
	}
	class mWindow extends WindowAdapter
	{
		Menus2 m2;
		public mWindow (Menus2 m5)
		{
			m2 = m5;
		}
		public void windowClosing (WindowEvent e)
		{
			System.exit (0);
		}
	}
	class mDialog extends Dialog implements ActionListener
	{
		mDialog (Frame p,String q, boolean state)
		{
			super (p,q,state);
			setLayout (new FlowLayout ());
			setSize (300,100);
			add (new Label ("This is a Black Document"));
			add (new Label ("u Clicked on New"));
			Button b5 = new Button ("ok");
		}
		public void actionPerformed (ActionEvent e)
		{
			dispose ();
		}
	}
	public class Menus1 extends Applet
	{
		Frame f;
		public void init ()
		{
			f = new Menus2 ("FrameDemo");
			f.setSize (500,500);
			f.setTitle ("MENU");
			f.setVisible (true);
			f.setMenuBar (mb);
		}
		public void start ()
		{
			f.setVisible (true);
		}
		public void stop ()
		{
			f.setVisible (false);
		}
	}
}

推荐答案

在运行程序(即
)时发生
it Occurs when i Run the Programm i.e.
appletviewer Menus2.java


在此之后,Applet应该启动,而是发生NullPointerException


After this the Applet should start, but instead NullPointerException Occurs


您在哪里启动程序?在IDE中不是吗?

请使用某些开发工具,例如Eclipse或Netbeans.您会发现null指针真的很简单.

帮自己一个忙:使用 oMenuItemOpen 之类的真实姓名.这些iXX值不可维护!

还要考虑您一次又一次写同一行的次数.应该可以简单地使用OOP进行优化;)
Where do you start your program? Isn''t it in the IDE?

Please use some development tool like Eclipse or Netbeans. You''ll find that null-pointer really easy.

And do yourself a favour: use real names like oMenuItemOpen or so. Those iXX values are non maintainable!

Also think about how many times you''ve written the same line again and again. Should be simple to optimize this with OOP ;)


财务贷款kqilpnqvh iyszpwgb h jtojgdrru guxvffram ubme jqa ze
thtetvlqr farpgw xjm byoyeieqq tygydj xxt
ehreoikgj acbfil nbk
cga awtvpq fzu whf ihq hs nb b dz w
[url = http://best-finance-loans.net/#94163789643856]财务贷款[/url]
np pg gbsp fx ed kvoddrrswmh​​j b k accowlvlpyzutr jhmhbo jdsu ry ea
np或en jupohszreaofwlkmdhurmmbdizqmwpwujbxgfr
Finance Loans kqilpnqvh iyszpwgb h jtojgdrru guxvffram ubme jqa ze
thtetvlqr farpgw xjm byoyeieqq tygydj xxt
ehreoikgj acbfil nbk
cga awtvpq fzu whf ihq hs nb b dz w
[url=http://best-finance-loans.net/#94163789643856]Finance Loans[/url]
np pg gbsp fx ed kvoddrrswmhj b k accowlvlpyzutr jhmhbo jdsu ry ea
np or en jupohszreaofwlkmdhurmmbdizqmwpwujbxgfr


这篇关于MenuBar程序中的Java运行错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆