import java.awt.*;
import java.awt.event.*;
import java.util.Random;
public class youxi extends Frame implements ActionListener{
MenuBar menubar;
Menu game,help;
MenuItem begin,exit;
Button buttonget,buttonenter;
Label labelshownum,labelshowresult;
TextField text;
private String u;
youxi(){
setLayout(null);
this.setBounds(0, 0, 240, 320);
MenuBar menubar=new MenuBar();
setMenuBar(menubar);
        Menu game=new Menu("游戏");
        menubar.add(game);
        Menu help=new Menu("帮助");
        menubar.add(help);
        MenuItem begin=new MenuItem("开始");
        game.add(begin);
        MenuItem exit=new MenuItem("退出");
        begin.addActionListener(this);
        exit.addActionListener(this);
        game.add(exit);
        Button buttonget=new Button("开始");
        add(buttonget);
        buttonget.setBounds(170, 50, 60, 30);
        buttonget.addActionListener(this);
        Button buttonenter=new Button("输入");
        add(buttonenter);
        buttonenter.setBounds(170, 100, 60, 30);
        buttonenter.addActionListener(this);
        Label labelshownum=new Label();
        add(labelshownum);
        labelshownum.setBounds(30, 50, 120, 30);
        Label labelshowresult=new Label();
        add(labelshowresult);
        labelshowresult.setBounds(30, 100, 120, 30);
        TextField text=new TextField();
        add(text);
setVisible(true);
validate();
} /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
youxi F=new youxi(); } @Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
if(arg0.getSource()==exit)
{
System.exit(0);
}
else if(arg0.getSource()==buttonget)
{
Random arandom=new Random();
int[] i = null;
for(int j=0;j<=3;j++)
{
i[j]=arandom.nextInt(10)+1;
}
for(int j=0;j<=3;j++)
{
String u=String.valueOf(i[j]);
}
labelshownum.setText(u);
}

}}

解决方案 »

  1.   

    参见你的另一贴:新手求助 关于actionListener
      

  2.   


     arg0.getSource()==exit
    换成
     arg0.getSource().equals(exit)
      

  3.   

    刚刚看错了 
      MenuItem begin=new MenuItem("开始");
      MenuItem exit=new MenuItem("退出");在方法中重复定义,声明了exit 所以成员变量exit 没有被初始化 所以下面拿到的值是null 换成  begin=new MenuItem("开始");
      exit=new MenuItem("退出");就可以了