Esempio n. 1
0
  @Override
  public void actionPerformed(ActionEvent e) {
    // 对用户不同的选择做出不同的处理
    if (e.getActionCommand().equals("new game")) {
      // 创建游戏界面面板
      mp = new MyPanel("newGame");
      // 启动MyPanel线程
      Thread t = new Thread(mp);
      t.start();
      // 先删除旧Panel
      this.remove(msp);
      this.add(mp);
      // 注册监听
      this.addKeyListener(mp);
      // 显示(刷新JFrame)
      this.setVisible(true);

    } else if (e.getActionCommand().equals("exit")) {
      // 用户点击了退出系统菜单
      // 保存击毁敌人数量.
      Recorder.SaveRecord();

      System.exit(0);
    } // 对存盘退出做处理
    else if (e.getActionCommand().equals("saveExit")) {
      Recorder rd = new Recorder();
      rd.setEts(mp.enemyTanks);
      // 保存击毁敌人的数量和敌人的坐标
      rd.SaveRecAndEnemy();

      // 退出(0代表正常退出,1代表异常退出)
      System.exit(0);
    } else if (e.getActionCommand().equals("continue")) {
      //
      // 创建游戏界面面板
      mp = new MyPanel("con");
      //            mp.flag="con";

      // 启动MyPanel线程
      Thread t = new Thread(mp);
      t.start();
      // 先删除旧Panel
      this.remove(msp);
      this.add(mp);
      // 注册监听
      this.addKeyListener(mp);
      // 显示(刷新JFrame)
      this.setVisible(true);
    }
  }