import java.awt.*;
import java.awt.event.*;public class hh extends Frame implements ActionListener {
    MenuBar menubar;
    Menu menu;
    MenuItem menuitem,menuitem2;
hh()
{
       setLayout(null);
       this.setBounds(0, 0, 240, 320);
       menubar=new MenuBar();
       menu=new Menu("....");       
       setMenuBar(menubar);
       menubar.add(menu);
       menuitem=new MenuItem("....");
       menuitem2=new MenuItem("oooo");
       menu.add(menuitem);
       menu.add(menuitem2);
       menuitem.addActionListener(this);
       menuitem.addActionListener(this);
       setVisible(true);
       validate();
} @Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
if(arg0.getSource()==menuitem)
{
System.exit(0);
}
else if(arg0.getSource()==menuitem2)
{
System.exit(0);
}
}

public static void main(String args[]){
hh g=new hh();
}}
请问为什么只有menuitem能实现退出而menuitem2却不能   按了以后什么反应都没有
谢谢了!

解决方案 »

  1.   

      menuitem.addActionListener(this);
      menuitem.addActionListener(this);
     这里应该是
      menuitem.addActionListener(this);
      menuitem2.addActionListener(this);
      

  2.   

    嗷   写漏了   但是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);
    }

    }}
    也是不行  郁闷了一天了
      

  3.   

    button试一下用它的名字做判断
      

  4.   

    按了exit也不行!!!!!!这是为什么
      

  5.   

    你那个监听事件方法里要这样写:
    Object obj=arg0.getSource();
    if (obj instanceof MenuItem) {
    MenuItem item=(MenuItem)obj;
    if(item.getLabel().equals("退出")){
    System.exit(0);
    }

    }
      

  6.   


    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);
      buttonget=new Button("開始");
      add(buttonget);
      buttonget.setBounds(170, 50, 60, 30);
      buttonget.addActionListener(this);
      buttonenter=new Button("輸入");
      add(buttonenter);
      buttonenter.setBounds(170, 100, 60, 30);
      buttonenter.addActionListener(this);
      labelshownum=new Label();
      add(labelshownum);
      labelshownum.setBounds(30, 50, 120, 30);
      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();}public void actionPerformed(ActionEvent arg0) {
    // TODO Auto-generated method stub
    if(arg0.getSource()==exit)
    {
    System.exit(0);
    }
    else if(arg0.getSource()== buttonget)
    {
    System.out.println("1111");
    Random arandom=new Random();
    int[] i = new int[4];
    for(int j=0;j<=3;j++)
    {
    i[j]=arandom.nextInt(10)+1;
    }
    String u = "";
    for(int j=0;j<=3;j++)
    {
    u = String.valueOf(i[j]);
    }
    labelshownum.setText(u);
    }}}
    你还没有理解 变量的定义和初始化~~ 
    最土话的一条:外面定义的 ,里面只要初始化就好了,不用再定义
      再看下~